home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 5 / BBS in a Box -Volume V (BBS in a Box) (April 1992).iso / Files / Prog / T / TCL⁄C 1.1.2 Update.cpt / THINK C 5.0 Folder / THINK Class Library 1.1 / TCL Libraries / TCL Library sources / TBUtilities.c < prev   
MacBinary  |  1991-09-18  |  15.9 KB  |  [TEXT/KAHL]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Wed Sep 18 18:09:02 1991, modified Wed Sep 18 18:09:02 1991, creator Think C, type ASCII, 15739 bytes "TBUtilities.c" , at 0x3dfb 332 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[KAHL]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0d 54 42 55 74 69 6c | 69 74 69 65 73 2e 63 00 |..TBUtil|ities.c.|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4b 41 48 | 4c 01 00 00 00 00 00 00 |.TEXTKAH|L.......|
|00000050| 00 00 00 00 00 3d 7b 00 | 00 01 4c a4 fd 7e fe a4 |.....={.|..L..~..|
|00000060| fd 7e fe 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.~......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 78 e2 00 00 |........|....x...|
|00000080| 2f 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |/*******|********|
|00000090| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0d |********|*******.|
|000000d0| 20 54 42 55 74 69 6c 69 | 74 69 65 73 2e 63 0d 09 | TBUtili|ties.c..|
|000000e0| 09 09 09 09 09 55 74 69 | 6c 74 69 65 73 20 66 6f |.....Uti|lties fo|
|000000f0| 72 20 64 65 61 6c 69 6e | 67 20 77 69 74 68 20 74 |r dealin|g with t|
|00000100| 68 65 20 54 6f 6f 6c 62 | 6f 78 0d 09 09 09 09 09 |he Toolb|ox......|
|00000110| 09 09 09 0d 09 09 45 78 | 70 6f 72 74 73 3a 0d 09 |......Ex|ports:..|
|00000120| 09 09 42 6f 6f 6c 65 61 | 6e 09 09 49 73 53 79 73 |..Boolea|n..IsSys|
|00000130| 74 65 6d 57 69 6e 64 6f | 77 28 6d 61 63 57 69 6e |temWindo|w(macWin|
|00000140| 64 6f 77 29 3b 0d 09 09 | 09 42 6f 6f 6c 65 61 6e |dow);...|.Boolean|
|00000150| 09 09 49 73 4d 79 57 69 | 6e 64 6f 77 28 6d 61 63 |..IsMyWi|ndow(mac|
|00000160| 57 69 6e 64 6f 77 29 3b | 0d 09 09 09 76 6f 69 64 |Window);|....void|
|00000170| 09 09 42 72 69 6e 67 42 | 65 68 69 6e 64 28 6d 61 |..BringB|ehind(ma|
|00000180| 63 57 69 6e 64 6f 77 2c | 20 62 65 68 69 6e 64 57 |cWindow,| behindW|
|00000190| 69 6e 64 6f 77 29 3b 0d | 09 09 09 42 6f 6f 6c 65 |indow);.|...Boole|
|000001a0| 61 6e 09 09 49 73 44 69 | 61 6c 6f 67 57 69 6e 64 |an..IsDi|alogWind|
|000001b0| 6f 77 28 6d 61 63 57 69 | 6e 64 6f 77 29 3b 0d 09 |ow(macWi|ndow);..|
|000001c0| 09 09 76 6f 69 64 09 09 | 50 6f 73 69 74 69 6f 6e |..void..|Position|
|000001d0| 44 69 61 6c 6f 67 28 74 | 68 65 54 79 70 65 2c 20 |Dialog(t|heType, |
|000001e0| 74 68 65 49 44 29 3b 0d | 09 09 09 76 6f 69 64 09 |theID);.|...void.|
|000001f0| 09 47 65 74 46 6f 6e 74 | 4e 75 6d 62 65 72 28 53 |.GetFont|Number(S|
|00000200| 74 72 32 35 35 20 66 4e | 61 6d 65 2c 20 73 68 6f |tr255 fN|ame, sho|
|00000210| 72 74 2a 20 69 74 65 6d | 4e 75 6d 29 3b 0d 09 09 |rt* item|Num);...|
|00000220| 09 76 6f 69 64 09 09 43 | 6f 70 79 50 53 74 72 69 |.void..C|opyPStri|
|00000230| 6e 67 28 53 74 72 32 35 | 35 20 73 63 72 53 74 72 |ng(Str25|5 scrStr|
|00000240| 69 6e 67 2c 20 53 74 72 | 32 35 35 20 64 65 73 74 |ing, Str|255 dest|
|00000250| 53 74 72 69 6e 67 29 3b | 0d 09 09 09 76 6f 69 64 |String);|....void|
|00000260| 09 09 43 6f 6e 63 61 74 | 50 53 74 72 69 6e 67 73 |..Concat|PStrings|
|00000270| 28 53 74 72 32 35 35 20 | 66 69 72 73 74 2c 20 53 |(Str255 |first, S|
|00000280| 74 72 32 35 35 20 73 65 | 63 6f 6e 64 29 3b 0d 09 |tr255 se|cond);..|
|00000290| 09 09 42 6f 6f 6c 65 61 | 6e 09 09 4b 65 79 49 73 |..Boolea|n..KeyIs|
|000002a0| 44 6f 77 6e 28 73 68 6f | 72 74 20 74 68 65 4b 65 |Down(sho|rt theKe|
|000002b0| 79 43 6f 64 65 29 3b 0d | 09 09 09 76 6f 69 64 09 |yCode);.|...void.|
|000002c0| 09 44 72 61 77 53 49 43 | 4e 28 73 68 6f 72 74 20 |.DrawSIC|N(short |
|000002d0| 53 49 43 4e 69 64 2c 20 | 73 68 6f 72 74 20 69 6e |SICNid, |short in|
|000002e0| 64 65 78 20 50 6f 69 6e | 74 20 6c 6f 63 61 74 69 |dex Poin|t locati|
|000002f0| 6f 6e 29 3b 0d 09 09 09 | 76 6f 69 64 09 09 50 69 |on);....|void..Pi|
|00000300| 6e 49 6e 52 65 63 74 28 | 20 4c 6f 6e 67 52 65 63 |nInRect(| LongRec|
|00000310| 74 20 2a 74 68 65 52 65 | 63 74 2c 20 4c 6f 6e 67 |t *theRe|ct, Long|
|00000320| 50 74 20 2a 74 68 65 50 | 6f 69 6e 74 29 3b 0d 09 |Pt *theP|oint);..|
|00000330| 09 09 42 6f 6f 6c 65 61 | 6e 09 09 41 62 6f 72 74 |..Boolea|n..Abort|
|00000340| 49 6e 51 75 65 75 65 28 | 20 76 6f 69 64 29 3b 0d |InQueue(| void);.|
|00000350| 09 09 09 42 6f 6f 6c 65 | 61 6e 09 09 49 73 43 61 |...Boole|an..IsCa|
|00000360| 6e 63 65 6c 45 76 65 6e | 74 28 20 45 76 65 6e 74 |ncelEven|t( Event|
|00000370| 52 65 63 6f 72 64 20 2a | 29 3b 0d 0d 09 09 09 0d |Record *|);......|
|00000380| 09 09 43 6f 70 79 72 69 | 67 68 74 20 a9 20 31 39 |..Copyri|ght . 19|
|00000390| 38 39 20 53 79 6d 61 6e | 74 65 63 20 43 6f 72 70 |89 Syman|tec Corp|
|000003a0| 6f 72 61 74 69 6f 6e 2e | 20 41 6c 6c 20 72 69 67 |oration.| All rig|
|000003b0| 68 74 73 20 72 65 73 65 | 72 76 65 64 2e 0d 09 09 |hts rese|rved....|
|000003c0| 0d 09 54 43 4c 20 31 2e | 31 20 43 48 41 4e 47 45 |..TCL 1.|1 CHANGE|
|000003d0| 53 0d 09 5b 0d 09 09 2d | 20 69 6d 70 6c 65 6d 65 |S..[...-| impleme|
|000003e0| 6e 74 65 64 20 41 62 6f | 72 74 49 6e 51 75 65 75 |nted Abo|rtInQueu|
|000003f0| 65 2c 20 49 73 43 61 6e | 63 65 6c 45 76 65 6e 74 |e, IsCan|celEvent|
|00000400| 20 66 75 6e 63 74 69 6f | 6e 73 0d 09 5d 0d 0d 20 | functio|ns..].. |
|00000410| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000420| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000430| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000440| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000450| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2f 0d |********|******/.|
|00000460| 0d 23 69 6e 63 6c 75 64 | 65 20 22 47 6c 6f 62 61 |.#includ|e "Globa|
|00000470| 6c 2e 68 22 0d 23 69 6e | 63 6c 75 64 65 20 22 54 |l.h".#in|clude "T|
|00000480| 42 55 74 69 6c 69 74 69 | 65 73 2e 68 22 0d 23 69 |BUtiliti|es.h".#i|
|00000490| 6e 63 6c 75 64 65 20 22 | 43 44 65 73 6b 74 6f 70 |nclude "|CDesktop|
|000004a0| 2e 68 22 0d 23 69 6e 63 | 6c 75 64 65 20 22 43 6f |.h".#inc|lude "Co|
|000004b0| 6e 73 74 61 6e 74 73 2e | 68 22 0d 23 69 6e 63 6c |nstants.|h".#incl|
|000004c0| 75 64 65 20 22 4c 6f 6e | 67 43 6f 6f 72 64 69 6e |ude "Lon|gCoordin|
|000004d0| 61 74 65 73 2e 68 22 0d | 0d 23 69 6e 63 6c 75 64 |ates.h".|.#includ|
|000004e0| 65 20 3c 53 63 72 69 70 | 74 2e 68 3e 0d 0d 65 78 |e <Scrip|t.h>..ex|
|000004f0| 74 65 72 6e 20 43 44 65 | 73 6b 74 6f 70 09 09 2a |tern CDe|sktop..*|
|00000500| 67 44 65 73 6b 74 6f 70 | 3b 0d 2f 2a 2a 2a 2a 2a |gDesktop|;./*****|
|00000510| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000520| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000530| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000540| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000550| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0d 20 49 73 53 79 73 |********|*. IsSys|
|00000560| 74 65 6d 57 69 6e 64 6f | 77 0d 0d 09 09 44 65 74 |temWindo|w....Det|
|00000570| 65 72 6d 69 6e 65 20 69 | 66 20 74 68 65 20 77 69 |ermine i|f the wi|
|00000580| 6e 64 6f 77 20 62 65 6c | 6f 6e 67 73 20 74 6f 20 |ndow bel|ongs to |
|00000590| 61 20 44 41 0d 20 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |a DA. **|********|
|000005a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000005b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000005c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000005d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000005e0| 2a 2a 2a 2a 2f 0d 0d 42 | 6f 6f 6c 65 61 6e 09 49 |****/..B|oolean.I|
|000005f0| 73 53 79 73 74 65 6d 57 | 69 6e 64 6f 77 28 0d 09 |sSystemW|indow(..|
|00000600| 57 69 6e 64 6f 77 50 65 | 65 6b 09 09 6d 61 63 57 |WindowPe|ek..macW|
|00000610| 69 6e 64 6f 77 29 09 09 | 09 2f 2a 20 54 68 65 20 |indow)..|./* The |
|00000620| 77 69 6e 64 6f 77 20 69 | 6e 20 71 75 65 73 74 69 |window i|n questi|
|00000630| 6f 6e 09 09 09 2a 2f 0d | 7b 0d 09 09 2f 2a 20 53 |on...*/.|{.../* S|
|00000640| 79 73 74 65 6d 20 77 69 | 6e 64 6f 77 73 20 28 44 |ystem wi|ndows (D|
|00000650| 41 73 29 20 68 61 76 65 | 20 61 20 6e 65 67 61 74 |As) have| a negat|
|00000660| 69 76 65 20 77 69 6e 64 | 6f 77 4b 69 6e 64 20 2a |ive wind|owKind *|
|00000670| 2f 0d 09 09 0d 09 72 65 | 74 75 72 6e 28 20 6d 61 |/.....re|turn( ma|
|00000680| 63 57 69 6e 64 6f 77 20 | 26 26 20 28 6d 61 63 57 |cWindow |&& (macW|
|00000690| 69 6e 64 6f 77 2d 3e 77 | 69 6e 64 6f 77 4b 69 6e |indow->w|indowKin|
|000006a0| 64 20 3c 20 30 29 20 29 | 3b 0d 7d 0d 0d 0d 2f 2a |d < 0) )|;.}.../*|
|000006b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000006c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000006d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000006e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000006f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0d 20 49 |********|*****. I|
|00000700| 73 4d 79 57 69 6e 64 6f | 77 0d 0d 09 09 43 68 65 |sMyWindo|w....Che|
|00000710| 63 6b 20 77 68 65 74 68 | 65 72 20 61 20 77 69 6e |ck wheth|er a win|
|00000720| 64 6f 77 20 69 73 20 61 | 6e 20 61 70 70 6c 69 63 |dow is a|n applic|
|00000730| 61 74 69 6f 6e 20 77 69 | 6e 64 6f 77 0d 20 2a 2a |ation wi|ndow. **|
|00000740| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000750| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000760| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000770| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000780| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2f 0d 0d 42 |********|****/..B|
|00000790| 6f 6f 6c 65 61 6e 09 49 | 73 4d 79 57 69 6e 64 6f |oolean.I|sMyWindo|
|000007a0| 77 28 0d 09 57 69 6e 64 | 6f 77 50 65 65 6b 09 09 |w(..Wind|owPeek..|
|000007b0| 6d 61 63 57 69 6e 64 6f | 77 29 09 09 09 2f 2a 20 |macWindo|w).../* |
|000007c0| 54 68 65 20 77 69 6e 64 | 6f 77 20 69 6e 20 71 75 |The wind|ow in qu|
|000007d0| 65 73 74 69 6f 6e 09 09 | 09 2a 2f 0d 7b 0d 09 09 |estion..|.*/.{...|
|000007e0| 2f 2a 20 41 6c 6c 20 61 | 70 70 6c 69 63 61 74 69 |/* All a|pplicati|
|000007f0| 6f 6e 20 77 69 6e 64 6f | 77 73 20 68 61 76 65 20 |on windo|ws have |
|00000800| 61 20 6b 69 6e 64 20 3e | 3d 20 75 73 65 72 4b 69 |a kind >|= userKi|
|00000810| 6e 64 20 2a 2f 0d 0d 09 | 72 65 74 75 72 6e 20 28 |nd */...|return (|
|00000820| 20 6d 61 63 57 69 6e 64 | 6f 77 20 26 26 20 0d 09 | macWind|ow && ..|
|00000830| 09 09 20 28 20 28 6d 61 | 63 57 69 6e 64 6f 77 2d |.. ( (ma|cWindow-|
|00000840| 3e 77 69 6e 64 6f 77 4b | 69 6e 64 20 3e 3d 20 75 |>windowK|ind >= u|
|00000850| 73 65 72 4b 69 6e 64 29 | 20 20 7c 7c 0d 09 09 09 |serKind)| ||....|
|00000860| 20 20 20 28 6d 61 63 57 | 69 6e 64 6f 77 2d 3e 77 | (macW|indow->w|
|00000870| 69 6e 64 6f 77 4b 69 6e | 64 20 3d 3d 20 64 69 61 |indowKin|d == dia|
|00000880| 6c 6f 67 4b 69 6e 64 29 | 20 29 20 29 3b 0d 7d 0d |logKind)| ) );.}.|
|00000890| 0d 0d 2f 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |../*****|********|
|000008a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000008b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000008c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000008d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000008e0| 2a 0d 20 42 72 69 6e 67 | 42 65 68 69 6e 64 0d 0d |*. Bring|Behind..|
|000008f0| 09 09 4d 6f 76 65 20 61 | 20 77 69 6e 64 6f 77 20 |..Move a| window |
|00000900| 66 72 6f 6d 20 66 61 72 | 20 62 61 63 6b 20 74 6f |from far| back to|
|00000910| 20 72 69 67 68 74 20 62 | 65 68 69 6e 64 20 61 6e | right b|ehind an|
|00000920| 6f 74 68 65 72 20 77 69 | 6e 64 6f 77 0d 20 2a 2a |other wi|ndow. **|
|00000930| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000940| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000950| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000960| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000970| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2f 0d 0d 76 |********|****/..v|
|00000980| 6f 69 64 09 42 72 69 6e | 67 42 65 68 69 6e 64 28 |oid.Brin|gBehind(|
|00000990| 0d 09 72 65 67 69 73 74 | 65 72 20 57 69 6e 64 6f |..regist|er Windo|
|000009a0| 77 50 74 72 09 6d 61 63 | 57 69 6e 64 6f 77 2c 09 |wPtr.mac|Window,.|
|000009b0| 09 2f 2a 20 54 68 65 20 | 77 69 6e 64 6f 77 20 74 |./* The |window t|
|000009c0| 6f 20 6d 6f 76 65 09 09 | 09 09 2a 2f 0d 09 57 69 |o move..|..*/..Wi|
|000009d0| 6e 64 6f 77 50 74 72 09 | 09 09 62 65 68 69 6e 64 |ndowPtr.|..behind|
|000009e0| 57 69 6e 64 6f 77 29 09 | 2f 2a 20 57 69 6e 64 6f |Window).|/* Windo|
|000009f0| 77 20 74 6f 20 70 75 74 | 20 74 68 65 20 77 69 6e |w to put| the win|
|00000a00| 64 6f 77 20 62 65 68 69 | 6e 64 09 2a 2f 0d 7b 0d |dow behi|nd.*/.{.|
|00000a10| 09 65 78 74 65 72 6e 20 | 52 67 6e 48 61 6e 64 6c |.extern |RgnHandl|
|00000a20| 65 09 67 55 74 69 6c 52 | 67 6e 3b 09 09 2f 2a 20 |e.gUtilR|gn;../* |
|00000a30| 4f 72 69 67 69 6e 61 6c | 6c 79 20 76 69 73 69 62 |Original|ly visib|
|00000a40| 6c 65 20 77 69 6e 64 6f | 77 20 70 61 72 74 73 09 |le windo|w parts.|
|00000a50| 2a 2f 0d 09 09 09 09 09 | 09 09 09 09 09 2f 2a 20 |*/......|...../* |
|00000a60| 20 41 4e 44 20 6e 65 77 | 6c 79 20 65 78 70 6f 73 | AND new|ly expos|
|00000a70| 65 64 20 77 69 6e 64 6f | 77 20 70 61 72 74 73 09 |ed windo|w parts.|
|00000a80| 2a 2f 0d 09 47 72 61 66 | 50 74 72 09 09 09 09 73 |*/..Graf|Ptr....s|
|00000a90| 61 76 65 50 6f 72 74 3b | 09 09 2f 2a 20 43 75 72 |avePort;|../* Cur|
|00000aa0| 72 65 6e 74 20 70 6f 72 | 74 09 09 09 09 09 09 2a |rent por|t......*|
|00000ab0| 2f 0d 09 50 6f 69 6e 74 | 09 09 09 09 63 6f 72 6e |/..Point|....corn|
|00000ac0| 65 72 3b 09 09 09 2f 2a | 20 54 6f 70 20 6c 65 66 |er;.../*| Top lef|
|00000ad0| 74 20 6f 66 20 76 69 73 | 69 62 6c 65 20 72 65 67 |t of vis|ible reg|
|00000ae0| 69 6f 6e 09 09 2a 2f 0d | 09 0d 09 47 65 74 50 6f |ion..*/.|...GetPo|
|00000af0| 72 74 28 26 73 61 76 65 | 50 6f 72 74 29 3b 09 09 |rt(&save|Port);..|
|00000b00| 09 09 09 2f 2a 20 53 61 | 76 65 20 63 75 72 72 65 |.../* Sa|ve curre|
|00000b10| 6e 74 20 70 6f 72 74 09 | 09 09 09 2a 2f 0d 09 53 |nt port.|...*/..S|
|00000b20| 65 74 50 6f 72 74 28 6d | 61 63 57 69 6e 64 6f 77 |etPort(m|acWindow|
|00000b30| 29 3b 09 09 09 09 09 2f | 2a 20 55 73 65 20 74 68 |);...../|* Use th|
|00000b40| 69 73 20 77 69 6e 64 6f | 77 27 73 20 70 6f 72 74 |is windo|w's port|
|00000b50| 09 09 09 2a 2f 0d 09 0d | 09 09 09 09 09 09 09 09 |...*/...|........|
|00000b60| 09 09 2f 2a 20 53 61 76 | 65 20 70 6f 72 74 69 6f |../* Sav|e portio|
|00000b70| 6e 20 6f 66 20 77 69 6e | 64 6f 77 20 77 68 69 63 |n of win|dow whic|
|00000b80| 68 20 69 73 09 2a 2f 0d | 09 09 09 09 09 09 09 09 |h is.*/.|........|
|00000b90| 09 09 2f 2a 20 6f 72 69 | 67 69 6e 61 6c 6c 79 20 |../* ori|ginally |
|00000ba0| 76 69 73 69 62 6c 65 09 | 09 09 09 2a 2f 0d 09 43 |visible.|...*/..C|
|00000bb0| 6f 70 79 52 67 6e 28 6d | 61 63 57 69 6e 64 6f 77 |opyRgn(m|acWindow|
|00000bc0| 2d 3e 76 69 73 52 67 6e | 2c 20 67 55 74 69 6c 52 |->visRgn|, gUtilR|
|00000bd0| 67 6e 29 3b 0d 09 09 09 | 09 09 09 09 09 09 09 2f |gn);....|......./|
|00000be0| 2a 20 41 64 6a 75 73 74 | 20 74 68 65 20 77 69 6e |* Adjust| the win|
|00000bf0| 64 6f 77 27 73 20 70 6c | 61 6e 65 09 09 2a 2f 0d |dow's pl|ane..*/.|
|00000c00| 09 53 65 6e 64 42 65 68 | 69 6e 64 28 6d 61 63 57 |.SendBeh|ind(macW|
|00000c10| 69 6e 64 6f 77 2c 20 62 | 65 68 69 6e 64 57 69 6e |indow, b|ehindWin|
|00000c20| 64 6f 77 29 3b 0d 0d 09 | 09 2f 2a 20 57 65 20 6d |dow);...|./* We m|
|00000c30| 75 73 74 20 64 72 61 77 | 20 74 68 65 20 6e 65 77 |ust draw| the new|
|00000c40| 6c 79 20 65 78 70 6f 73 | 65 64 20 70 6f 72 74 69 |ly expos|ed porti|
|00000c50| 6f 6e 20 6f 66 20 74 68 | 65 20 77 69 6e 64 6f 77 |on of th|e window|
|00000c60| 2e 20 20 46 69 6e 64 20 | 74 68 65 20 2a 2f 0d 09 |. Find |the */..|
|00000c70| 09 2f 2a 20 64 69 66 66 | 65 72 65 6e 63 65 20 62 |./* diff|erence b|
|00000c80| 65 74 77 65 65 6e 20 74 | 68 65 20 70 72 65 73 65 |etween t|he prese|
|00000c90| 6e 74 20 73 74 72 75 63 | 74 75 72 65 20 72 65 67 |nt struc|ture reg|
|00000ca0| 69 6f 6e 20 61 6e 64 20 | 77 68 61 74 20 77 61 73 |ion and |what was|
|00000cb0| 20 20 20 20 2a 2f 0d 09 | 09 2f 2a 20 6f 72 69 67 | */..|./* orig|
|00000cc0| 69 6e 61 6c 6c 79 20 76 | 69 73 69 62 6c 65 2e 20 |inally v|isible. |
|00000cd0| 20 42 65 66 6f 72 65 20 | 64 6f 69 6e 67 20 74 68 | Before |doing th|
|00000ce0| 69 73 2c 20 77 65 20 6d | 75 73 74 20 63 6f 6e 76 |is, we m|ust conv|
|00000cf0| 65 72 74 20 74 68 65 20 | 20 20 20 20 2a 2f 0d 09 |ert the | */..|
|00000d00| 09 2f 2a 20 6f 72 69 67 | 69 6e 61 6c 6c 79 20 76 |./* orig|inally v|
|00000d10| 69 73 69 62 6c 65 20 72 | 65 67 69 6f 6e 20 74 6f |isible r|egion to|
|00000d20| 20 67 6c 6f 62 61 6c 20 | 63 6f 6f 72 64 73 2e 09 | global |coords..|
|00000d30| 09 09 09 09 20 20 20 2a | 2f 0d 09 0d 09 63 6f 72 |.... *|/....cor|
|00000d40| 6e 65 72 20 3d 20 74 6f | 70 4c 65 66 74 28 28 2a |ner = to|pLeft((*|
|00000d50| 2a 67 55 74 69 6c 52 67 | 6e 29 2e 72 67 6e 42 42 |*gUtilRg|n).rgnBB|
|00000d60| 6f 78 29 3b 0d 09 4c 6f | 63 61 6c 54 6f 47 6c 6f |ox);..Lo|calToGlo|
|00000d70| 62 61 6c 28 26 63 6f 72 | 6e 65 72 29 3b 0d 09 4f |bal(&cor|ner);..O|
|00000d80| 66 66 73 65 74 52 67 6e | 28 67 55 74 69 6c 52 67 |ffsetRgn|(gUtilRg|
|00000d90| 6e 2c 20 28 63 6f 72 6e | 65 72 2e 68 20 2d 20 28 |n, (corn|er.h - (|
|00000da0| 2a 2a 67 55 74 69 6c 52 | 67 6e 29 2e 72 67 6e 42 |**gUtilR|gn).rgnB|
|00000db0| 42 6f 78 2e 6c 65 66 74 | 29 2c 0d 09 09 09 09 09 |Box.left|),......|
|00000dc0| 09 28 63 6f 72 6e 65 72 | 2e 76 20 2d 20 28 2a 2a |.(corner|.v - (**|
|00000dd0| 67 55 74 69 6c 52 67 6e | 29 2e 72 67 6e 42 42 6f |gUtilRgn|).rgnBBo|
|00000de0| 78 2e 74 6f 70 29 29 3b | 0d 09 09 09 09 09 20 20 |x.top));|...... |
|00000df0| 0d 09 09 2f 2a 20 4e 6f | 77 20 77 65 20 63 61 6e |.../* No|w we can|
|00000e00| 20 64 69 66 66 65 72 65 | 6e 63 65 20 74 68 65 20 | differe|nce the |
|00000e10| 72 65 67 69 6f 6e 73 2e | 20 20 53 61 76 65 20 73 |regions.| Save s|
|00000e20| 70 61 63 65 20 62 79 20 | 70 75 74 74 69 6e 67 20 |pace by |putting |
|00000e30| 74 68 65 20 2a 2f 0d 09 | 09 2f 2a 20 72 65 73 75 |the */..|./* resu|
|00000e40| 6c 74 20 62 61 63 6b 20 | 69 6e 20 74 68 65 52 67 |lt back |in theRg|
|00000e50| 6e 2e 20 20 42 65 66 6f | 72 65 20 63 61 6c 6c 69 |n. Befo|re calli|
|00000e60| 6e 67 20 44 69 66 66 52 | 67 6e 2c 20 74 68 65 52 |ng DiffR|gn, theR|
|00000e70| 67 6e 20 69 73 20 74 68 | 65 20 2a 2f 0d 09 09 2f |gn is th|e */.../|
|00000e80| 2a 20 6f 72 69 67 69 6e | 61 6c 6c 79 20 76 69 73 |* origin|ally vis|
|00000e90| 69 62 6c 65 20 72 65 67 | 69 6f 6e 2e 20 20 41 66 |ible reg|ion. Af|
|00000ea0| 74 65 72 77 61 72 64 73 | 2c 20 74 68 65 52 67 6e |terwards|, theRgn|
|00000eb0| 20 69 73 20 74 68 65 20 | 6e 65 77 6c 79 20 20 20 | is the |newly |
|00000ec0| 2a 2f 0d 09 09 2f 2a 20 | 65 78 70 6f 73 65 64 20 |*/.../* |exposed |
|00000ed0| 72 65 67 69 6f 6e 20 6f | 66 20 74 68 65 20 77 69 |region o|f the wi|
|00000ee0| 6e 64 6f 77 2e 09 09 09 | 09 09 09 09 09 20 2a 2f |ndow....|..... */|
|00000ef0| 0d 09 09 0d 09 44 69 66 | 66 52 67 6e 28 28 28 57 |.....Dif|fRgn(((W|
|00000f00| 69 6e 64 6f 77 50 65 65 | 6b 29 6d 61 63 57 69 6e |indowPee|k)macWin|
|00000f10| 64 6f 77 29 2d 3e 73 74 | 72 75 63 52 67 6e 2c 20 |dow)->st|rucRgn, |
|00000f20| 67 55 74 69 6c 52 67 6e | 2c 20 67 55 74 69 6c 52 |gUtilRgn|, gUtilR|
|00000f30| 67 6e 29 3b 0d 09 0d 09 | 50 61 69 6e 74 4f 6e 65 |gn);....|PaintOne|
|00000f40| 28 28 57 69 6e 64 6f 77 | 50 65 65 6b 29 20 6d 61 |((Window|Peek) ma|
|00000f50| 63 57 69 6e 64 6f 77 2c | 20 67 55 74 69 6c 52 67 |cWindow,| gUtilRg|
|00000f60| 6e 29 3b 09 09 2f 2a 20 | 44 72 61 77 20 6e 65 77 |n);../* |Draw new|
|00000f70| 6c 79 20 65 78 70 6f 73 | 65 64 20 72 65 67 69 6f |ly expos|ed regio|
|00000f80| 6e 09 09 2a 2f 0d 09 0d | 09 09 09 09 09 09 09 09 |n..*/...|........|
|00000f90| 09 09 2f 2a 20 53 69 6e | 63 65 20 77 69 6e 64 6f |../* Sin|ce windo|
|00000fa0| 77 20 68 61 73 20 6d 6f | 76 65 64 20 66 6f 72 77 |w has mo|ved forw|
|00000fb0| 61 72 64 2c 09 2a 2f 0d | 09 09 09 09 09 09 09 09 |ard,.*/.|........|
|00000fc0| 09 09 2f 2a 20 20 20 77 | 65 20 6d 75 73 74 20 61 |../* w|e must a|
|00000fd0| 64 6a 75 73 74 20 74 68 | 65 20 76 69 73 69 62 6c |djust th|e visibl|
|00000fe0| 65 09 09 2a 2f 0d 09 09 | 09 09 09 09 09 09 09 09 |e..*/...|........|
|00000ff0| 2f 2a 20 20 20 72 65 67 | 69 6f 6e 73 20 6f 66 20 |/* reg|ions of |
|00001000| 74 68 69 73 20 77 69 6e | 64 6f 77 20 61 6e 64 09 |this win|dow and.|
|00001010| 09 2a 2f 0d 09 09 09 09 | 09 09 09 09 09 09 2f 2a |.*/.....|....../*|
|00001020| 20 20 20 74 68 6f 73 65 | 20 62 65 68 69 6e 64 20 | those| behind |
|00001030| 69 74 2e 09 09 09 09 2a | 2f 0d 09 43 61 6c 63 56 |it.....*|/..CalcV|
|00001040| 69 73 42 65 68 69 6e 64 | 28 20 28 57 69 6e 64 6f |isBehind|( (Windo|
|00001050| 77 50 65 65 6b 29 20 6d | 61 63 57 69 6e 64 6f 77 |wPeek) m|acWindow|
|00001060| 2c 20 28 28 57 69 6e 64 | 6f 77 50 65 65 6b 29 6d |, ((Wind|owPeek)m|
|00001070| 61 63 57 69 6e 64 6f 77 | 29 2d 3e 73 74 72 75 63 |acWindow|)->struc|
|00001080| 52 67 6e 29 3b 0d 0d 09 | 53 65 74 50 6f 72 74 28 |Rgn);...|SetPort(|
|00001090| 73 61 76 65 50 6f 72 74 | 29 3b 09 09 09 09 09 2f |savePort|);...../|
|000010a0| 2a 20 52 65 73 74 6f 72 | 65 20 74 68 65 20 6f 72 |* Restor|e the or|
|000010b0| 69 67 69 6e 61 6c 20 70 | 6f 72 74 09 09 2a 2f 0d |iginal p|ort..*/.|
|000010c0| 09 43 56 69 65 77 3a 3a | 46 6f 72 63 65 4e 65 78 |.CView::|ForceNex|
|000010d0| 74 50 72 65 70 61 72 65 | 28 29 3b 0d 7d 0d 0d 0d |tPrepare|();.}...|
|000010e0| 2f 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |/*******|********|
|000010f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001100| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001110| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001120| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0d |********|*******.|
|00001130| 20 49 73 44 69 61 6c 6f | 67 57 69 6e 64 6f 77 0d | IsDialo|gWindow.|
|00001140| 0d 09 09 44 65 74 65 72 | 6d 69 6e 65 20 69 66 20 |...Deter|mine if |
|00001150| 74 68 65 20 77 69 6e 64 | 6f 77 20 69 73 20 61 20 |the wind|ow is a |
|00001160| 64 69 61 6c 6f 67 20 62 | 6f 78 0d 20 2a 2a 2a 2a |dialog b|ox. ****|
|00001170| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001180| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001190| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000011a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000011b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2f 0d 0d 42 6f 6f |********|**/..Boo|
|000011c0| 6c 65 61 6e 09 49 73 44 | 69 61 6c 6f 67 57 69 6e |lean.IsD|ialogWin|
|000011d0| 64 6f 77 28 0d 09 57 69 | 6e 64 6f 77 50 65 65 6b |dow(..Wi|ndowPeek|
|000011e0| 09 09 6d 61 63 57 69 6e | 64 6f 77 29 09 09 09 2f |..macWin|dow).../|
|000011f0| 2a 20 54 68 65 20 77 69 | 6e 64 6f 77 20 69 6e 20 |* The wi|ndow in |
|00001200| 71 75 65 73 74 69 6f 6e | 09 09 09 2a 2f 0d 7b 0d |question|...*/.{.|
|00001210| 09 09 2f 2a 20 44 69 61 | 6c 6f 67 20 62 6f 78 65 |../* Dia|log boxe|
|00001220| 73 20 68 61 76 65 20 61 | 20 77 69 6e 64 6f 77 4b |s have a| windowK|
|00001230| 69 6e 64 20 6f 66 20 64 | 69 61 6c 6f 67 4b 69 6e |ind of d|ialogKin|
|00001240| 64 20 2a 2f 0d 09 09 0d | 09 72 65 74 75 72 6e 28 |d */....|.return(|
|00001250| 20 6d 61 63 57 69 6e 64 | 6f 77 20 26 26 20 28 6d | macWind|ow && (m|
|00001260| 61 63 57 69 6e 64 6f 77 | 2d 3e 77 69 6e 64 6f 77 |acWindow|->window|
|00001270| 4b 69 6e 64 20 3d 3d 20 | 64 69 61 6c 6f 67 4b 69 |Kind == |dialogKi|
|00001280| 6e 64 29 20 29 3b 0d 7d | 0d 0d 0d 2f 2a 2a 2a 2a |nd) );.}|.../****|
|00001290| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000012a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000012b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000012c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000012d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 0d 20 50 6f 73 69 |********|**. Posi|
|000012e0| 74 69 6f 6e 44 69 61 6c | 6f 67 0d 20 0d 09 09 43 |tionDial|og. ...C|
|000012f0| 65 6e 74 65 72 20 74 68 | 65 20 62 6f 75 6e 64 69 |enter th|e boundi|
|00001300| 6e 67 20 62 6f 78 20 6f | 66 20 61 20 64 69 61 6c |ng box o|f a dial|
|00001310| 6f 67 20 6f 72 20 61 6c | 65 72 74 20 69 6e 20 74 |og or al|ert in t|
|00001320| 68 65 20 75 70 70 65 72 | 20 74 68 69 72 64 0d 09 |he upper| third..|
|00001330| 09 6f 66 20 74 68 65 20 | 73 63 72 65 65 6e 2e 20 |.of the |screen. |
|00001340| 20 54 68 69 73 20 69 73 | 20 74 68 65 20 70 72 65 | This is| the pre|
|00001350| 66 65 72 72 65 64 20 6c | 6f 63 61 74 69 6f 6e 20 |ferred l|ocation |
|00001360| 61 63 63 6f 72 64 69 6e | 67 20 74 6f 20 74 68 65 |accordin|g to the|
|00001370| 0d 09 09 48 75 6d 61 6e | 20 49 6e 74 65 72 66 61 |...Human| Interfa|
|00001380| 63 65 20 47 75 69 64 65 | 6c 69 6e 65 73 2e 0d 20 |ce Guide|lines.. |
|00001390| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000013a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000013b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000013c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000013d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2f 0d |********|******/.|
|000013e0| 0d 76 6f 69 64 09 50 6f | 73 69 74 69 6f 6e 44 69 |.void.Po|sitionDi|
|000013f0| 61 6c 6f 67 28 0d 09 52 | 65 73 54 79 70 65 09 09 |alog(..R|esType..|
|00001400| 74 68 65 54 79 70 65 2c | 09 09 09 09 2f 2a 20 52 |theType,|..../* R|
|00001410| 65 73 6f 75 72 63 65 20 | 74 79 70 65 2c 20 44 4c |esource |type, DL|
|00001420| 4f 47 20 6f 72 20 41 4c | 52 54 09 09 2a 2f 0d 09 |OG or AL|RT..*/..|
|00001430| 73 68 6f 72 74 09 09 74 | 68 65 49 44 29 09 09 09 |short..t|heID)...|
|00001440| 09 09 2f 2a 20 52 65 73 | 20 49 44 20 6f 66 20 44 |../* Res| ID of D|
|00001450| 4c 4f 47 20 6f 72 20 41 | 4c 52 54 09 09 09 2a 2f |LOG or A|LRT...*/|
|00001460| 0d 7b 0d 09 48 61 6e 64 | 6c 65 09 09 09 09 74 68 |.{..Hand|le....th|
|00001470| 65 54 65 6d 70 6c 61 74 | 65 3b 09 2f 2a 20 48 61 |eTemplat|e;./* Ha|
|00001480| 6e 64 6c 65 20 74 6f 20 | 72 65 73 6f 75 72 63 65 |ndle to |resource|
|00001490| 20 74 65 6d 70 6c 61 74 | 65 09 09 2a 2f 0d 09 72 | templat|e..*/..r|
|000014a0| 65 67 69 73 74 65 72 20 | 52 65 63 74 09 09 2a 74 |egister |Rect..*t|
|000014b0| 68 65 52 65 63 74 3b 09 | 09 2f 2a 20 42 6f 75 6e |heRect;.|./* Boun|
|000014c0| 64 69 6e 67 20 62 6f 78 | 20 6f 66 20 64 69 61 6c |ding box| of dial|
|000014d0| 6f 67 09 09 09 2a 2f 0d | 09 72 65 67 69 73 74 65 |og...*/.|.registe|
|000014e0| 72 20 73 68 6f 72 74 09 | 09 6c 65 66 74 3b 09 09 |r short.|.left;..|
|000014f0| 09 2f 2a 20 4c 65 66 74 | 20 73 69 64 65 20 6f 66 |./* Left| side of|
|00001500| 20 63 65 6e 74 65 72 65 | 64 20 72 65 63 74 09 09 | centere|d rect..|
|00001510| 2a 2f 0d 09 72 65 67 69 | 73 74 65 72 20 73 68 6f |*/..regi|ster sho|
|00001520| 72 74 09 09 74 6f 70 3b | 09 09 09 2f 2a 20 54 6f |rt..top;|.../* To|
|00001530| 70 20 73 69 64 65 20 6f | 66 20 63 65 6e 74 65 72 |p side o|f center|
|00001540| 65 64 20 72 65 63 74 09 | 09 2a 2f 0d 09 0d 09 09 |ed rect.|.*/.....|
|00001550| 2f 2a 20 54 68 65 20 66 | 69 72 73 74 20 66 69 65 |/* The f|irst fie|
|00001560| 6c 64 20 6f 66 20 74 68 | 65 20 72 65 73 6f 75 72 |ld of th|e resour|
|00001570| 63 65 20 74 65 6d 70 6c | 61 74 65 20 66 6f 72 20 |ce templ|ate for |
|00001580| 44 4c 4f 47 27 73 20 61 | 6e 64 20 41 4c 52 54 27 |DLOG's a|nd ALRT'|
|00001590| 73 20 2a 2f 0d 09 09 2f | 2a 20 69 73 20 69 74 73 |s */.../|* is its|
|000015a0| 20 62 6f 75 6e 64 69 6e | 67 20 62 6f 78 2e 20 20 | boundin|g box. |
|000015b0| 47 65 74 20 61 20 70 6f | 69 6e 74 65 72 20 74 6f |Get a po|inter to|
|000015c0| 20 74 68 69 73 20 72 65 | 63 74 61 6e 67 6c 65 2e | this re|ctangle.|
|000015d0| 20 20 54 68 69 73 20 20 | 20 2a 2f 0d 09 09 2f 2a | This | */.../*|
|000015e0| 20 68 61 6e 64 6c 65 20 | 64 65 72 65 66 65 72 65 | handle |derefere|
|000015f0| 6e 63 69 6e 67 20 69 73 | 20 73 61 66 65 20 73 69 |ncing is| safe si|
|00001600| 6e 63 65 20 74 68 65 20 | 72 65 6d 61 69 6e 69 6e |nce the |remainin|
|00001610| 67 20 73 74 61 74 65 6d | 65 6e 74 73 20 69 6e 20 |g statem|ents in |
|00001620| 2a 2f 0d 09 09 2f 2a 20 | 74 68 69 73 20 66 75 6e |*/.../* |this fun|
|00001630| 63 74 69 6f 6e 20 64 6f | 20 6e 6f 74 20 6d 6f 76 |ction do| not mov|
|00001640| 65 20 6d 65 6d 6f 72 79 | 20 28 61 73 73 69 67 6e |e memory| (assign|
|00001650| 6d 65 6e 74 20 61 6e 64 | 20 73 69 6d 70 6c 65 20 |ment and| simple |
|00001660| 6d 61 74 68 29 2e 20 2a | 2f 0d 0d 09 74 68 65 54 |math). *|/...theT|
|00001670| 65 6d 70 6c 61 74 65 20 | 3d 20 47 65 74 52 65 73 |emplate |= GetRes|
|00001680| 6f 75 72 63 65 28 74 68 | 65 54 79 70 65 2c 20 74 |ource(th|eType, t|
|00001690| 68 65 49 44 29 3b 0d 09 | 46 61 69 6c 4e 49 4c 52 |heID);..|FailNILR|
|000016a0| 65 73 28 20 74 68 65 54 | 65 6d 70 6c 61 74 65 29 |es( theT|emplate)|
|000016b0| 3b 0d 09 74 68 65 52 65 | 63 74 20 3d 20 28 52 65 |;..theRe|ct = (Re|
|000016c0| 63 74 2a 29 20 2a 74 68 | 65 54 65 6d 70 6c 61 74 |ct*) *th|eTemplat|
|000016d0| 65 3b 0d 09 0d 09 09 09 | 09 09 09 09 09 09 09 2f |e;......|......./|
|000016e0| 2a 20 43 65 6e 74 65 72 | 20 68 6f 72 69 7a 6f 6e |* Center| horizon|
|000016f0| 74 61 6c 6c 79 20 6f 6e | 20 73 63 72 65 65 6e 09 |tally on| screen.|
|00001700| 2a 2f 0d 09 6c 65 66 74 | 20 3d 20 28 73 63 72 65 |*/..left| = (scre|
|00001710| 65 6e 42 69 74 73 2e 62 | 6f 75 6e 64 73 2e 72 69 |enBits.b|ounds.ri|
|00001720| 67 68 74 20 2d 20 28 74 | 68 65 52 65 63 74 2d 3e |ght - (t|heRect->|
|00001730| 72 69 67 68 74 20 2d 20 | 74 68 65 52 65 63 74 2d |right - |theRect-|
|00001740| 3e 6c 65 66 74 29 29 20 | 2f 20 32 3b 0d 0d 09 09 |>left)) |/ 2;....|
|00001750| 09 09 09 09 09 09 09 09 | 2f 2a 20 4c 65 61 76 65 |........|/* Leave|
|00001760| 20 74 77 69 63 65 20 61 | 73 20 6d 75 63 68 20 73 | twice a|s much s|
|00001770| 70 61 63 65 20 62 65 6c | 6f 77 09 2a 2f 0d 09 09 |pace bel|ow.*/...|
|00001780| 09 09 09 09 09 09 09 09 | 2f 2a 20 20 20 61 73 20 |........|/* as |
|00001790| 61 62 6f 76 65 20 74 68 | 65 20 72 65 63 74 61 6e |above th|e rectan|
|000017a0| 67 6c 65 09 09 09 2a 2f | 09 0d 09 74 6f 70 20 3d |gle...*/|...top =|
|000017b0| 20 28 73 63 72 65 65 6e | 42 69 74 73 2e 62 6f 75 | (screen|Bits.bou|
|000017c0| 6e 64 73 2e 62 6f 74 74 | 6f 6d 20 2d 20 28 74 68 |nds.bott|om - (th|
|000017d0| 65 52 65 63 74 2d 3e 62 | 6f 74 74 6f 6d 20 2d 20 |eRect->b|ottom - |
|000017e0| 74 68 65 52 65 63 74 2d | 3e 74 6f 70 29 29 20 2f |theRect-|>top)) /|
|000017f0| 20 33 3b 0d 09 09 09 09 | 09 09 09 09 09 09 2f 2a | 3;.....|....../*|
|00001800| 20 44 6f 6e 27 74 20 70 | 75 74 20 72 65 63 74 20 | Don't p|ut rect |
|00001810| 75 6e 64 65 72 20 6d 65 | 6e 75 20 62 61 72 09 2a |under me|nu bar.*|
|00001820| 2f 0d 09 74 6f 70 20 3d | 20 4d 61 78 28 74 6f 70 |/..top =| Max(top|
|00001830| 2c 20 47 65 74 4d 42 61 | 72 48 65 69 67 68 74 28 |, GetMBa|rHeight(|
|00001840| 29 20 2b 20 31 29 3b 0d | 0d 09 74 68 65 52 65 63 |) + 1);.|..theRec|
|00001850| 74 2d 3e 72 69 67 68 74 | 20 2b 3d 20 6c 65 66 74 |t->right| += left|
|00001860| 20 2d 20 74 68 65 52 65 | 63 74 2d 3e 6c 65 66 74 | - theRe|ct->left|
|00001870| 3b 0d 09 74 68 65 52 65 | 63 74 2d 3e 6c 65 66 74 |;..theRe|ct->left|
|00001880| 20 3d 20 6c 65 66 74 3b | 0d 09 74 68 65 52 65 63 | = left;|..theRec|
|00001890| 74 2d 3e 62 6f 74 74 6f | 6d 20 2b 3d 20 74 6f 70 |t->botto|m += top|
|000018a0| 20 2d 20 74 68 65 52 65 | 63 74 2d 3e 74 6f 70 3b | - theRe|ct->top;|
|000018b0| 0d 09 74 68 65 52 65 63 | 74 2d 3e 74 6f 70 20 3d |..theRec|t->top =|
|000018c0| 20 74 6f 70 3b 0d 7d 0d | 0d 0d 2f 2a 2a 2a 2a 2a | top;.}.|../*****|
|000018d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000018e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000018f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001900| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001910| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0d 20 46 69 6e 64 44 |********|*. FindD|
|00001920| 6c 6f 67 50 6f 73 69 74 | 69 6f 6e 0d 20 0d 20 09 |logPosit|ion. . .|
|00001930| 09 52 65 74 75 72 6e 20 | 74 68 65 20 63 6f 6f 72 |.Return |the coor|
|00001940| 64 69 6e 61 74 65 73 20 | 6f 66 20 74 68 65 20 74 |dinates |of the t|
|00001950| 6f 70 20 6c 65 66 74 20 | 63 6f 72 6e 65 72 20 6f |op left |corner o|
|00001960| 66 20 61 20 64 69 61 6c | 6f 67 20 6f 72 20 61 6c |f a dial|og or al|
|00001970| 65 72 74 0d 20 09 09 77 | 68 69 63 68 20 63 65 6e |ert. ..w|hich cen|
|00001980| 74 65 72 73 20 74 68 65 | 20 62 6f 78 20 69 6e 20 |ters the| box in |
|00001990| 74 68 65 20 75 70 70 65 | 72 20 74 68 69 72 64 20 |the uppe|r third |
|000019a0| 6f 66 20 74 68 65 20 6d | 61 69 6e 20 73 63 72 65 |of the m|ain scre|
|000019b0| 65 6e 2e 20 54 68 69 73 | 20 69 73 0d 20 09 09 74 |en. This| is. ..t|
|000019c0| 68 65 20 70 72 65 66 65 | 72 72 65 64 20 6c 6f 63 |he prefe|rred loc|
|000019d0| 61 74 69 6f 6e 20 61 63 | 63 6f 72 64 69 6e 67 20 |ation ac|cording |
|000019e0| 74 6f 20 74 68 65 20 48 | 75 6d 61 6e 20 49 6e 74 |to the H|uman Int|
|000019f0| 65 72 66 61 63 65 20 47 | 75 69 64 65 6c 69 6e 65 |erface G|uideline|
|00001a00| 73 2e 0d 20 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |s.. ****|********|
|00001a10| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001a20| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001a30| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001a40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001a50| 2a 2a 2f 0d 0d 76 6f 69 | 64 09 46 69 6e 64 44 6c |**/..voi|d.FindDl|
|00001a60| 6f 67 50 6f 73 69 74 69 | 6f 6e 28 0d 09 52 65 73 |ogPositi|on(..Res|
|00001a70| 54 79 70 65 09 09 74 68 | 65 54 79 70 65 2c 09 09 |Type..th|eType,..|
|00001a80| 09 09 2f 2a 20 52 65 73 | 6f 75 72 63 65 20 74 79 |../* Res|ource ty|
|00001a90| 70 65 2c 20 44 4c 4f 47 | 20 6f 72 20 41 4c 52 54 |pe, DLOG| or ALRT|
|00001aa0| 09 09 2a 2f 0d 09 73 68 | 6f 72 74 09 09 74 68 65 |..*/..sh|ort..the|
|00001ab0| 49 44 2c 09 09 09 09 09 | 2f 2a 20 52 65 73 20 49 |ID,.....|/* Res I|
|00001ac0| 44 20 6f 66 20 44 4c 4f | 47 20 6f 72 20 41 4c 52 |D of DLO|G or ALR|
|00001ad0| 54 09 09 09 2a 2f 0d 09 | 50 6f 69 6e 74 09 09 2a |T...*/..|Point..*|
|00001ae0| 63 6f 72 6e 65 72 29 09 | 09 09 09 2f 2a 20 54 6f |corner).|.../* To|
|00001af0| 70 20 6c 65 66 74 20 63 | 6f 72 6e 65 72 20 77 68 |p left c|orner wh|
|00001b00| 65 6e 20 63 65 6e 74 65 | 72 65 64 09 2a 2f 0d 7b |en cente|red.*/.{|
|00001b10| 0d 09 52 65 63 74 09 09 | 09 09 74 68 65 52 65 63 |..Rect..|..theRec|
|00001b20| 74 3b 09 09 2f 2a 20 42 | 6f 75 6e 64 69 6e 67 20 |t;../* B|ounding |
|00001b30| 62 6f 78 20 6f 66 20 64 | 69 61 6c 6f 67 09 09 09 |box of d|ialog...|
|00001b40| 2a 2f 0d 09 72 65 67 69 | 73 74 65 72 20 73 68 6f |*/..regi|ster sho|
|00001b50| 72 74 09 09 6c 65 66 74 | 3b 09 09 09 2f 2a 20 4c |rt..left|;.../* L|
|00001b60| 65 66 74 20 73 69 64 65 | 20 6f 66 20 63 65 6e 74 |eft side| of cent|
|00001b70| 65 72 65 64 20 72 65 63 | 74 09 09 2a 2f 0d 09 72 |ered rec|t..*/..r|
|00001b80| 65 67 69 73 74 65 72 20 | 73 68 6f 72 74 09 09 74 |egister |short..t|
|00001b90| 6f 70 3b 09 09 09 2f 2a | 20 54 6f 70 20 73 69 64 |op;.../*| Top sid|
|00001ba0| 65 20 6f 66 20 63 65 6e | 74 65 72 65 64 20 72 65 |e of cen|tered re|
|00001bb0| 63 74 09 09 2a 2f 0d 09 | 0d 09 09 2f 2a 20 54 68 |ct..*/..|.../* Th|
|00001bc0| 65 20 66 69 72 73 74 20 | 66 69 65 6c 64 20 6f 66 |e first |field of|
|00001bd0| 20 74 68 65 20 72 65 73 | 6f 75 72 63 65 20 74 65 | the res|ource te|
|00001be0| 6d 70 6c 61 74 65 20 66 | 6f 72 20 44 4c 4f 47 27 |mplate f|or DLOG'|
|00001bf0| 73 20 61 6e 64 20 41 4c | 52 54 27 73 20 2a 2f 0d |s and AL|RT's */.|
|00001c00| 09 09 2f 2a 20 69 73 20 | 69 74 73 20 62 6f 75 6e |../* is |its boun|
|00001c10| 64 69 6e 67 20 62 6f 78 | 2e 20 20 47 65 74 20 61 |ding box|. Get a|
|00001c20| 20 70 6f 69 6e 74 65 72 | 20 74 6f 20 74 68 69 73 | pointer| to this|
|00001c30| 20 72 65 63 74 61 6e 67 | 6c 65 2e 20 20 54 68 69 | rectang|le. Thi|
|00001c40| 73 20 20 20 2a 2f 0d 09 | 09 2f 2a 20 68 61 6e 64 |s */..|./* hand|
|00001c50| 6c 65 20 64 65 72 65 66 | 65 72 65 6e 63 69 6e 67 |le deref|erencing|
|00001c60| 20 69 73 20 73 61 66 65 | 20 73 69 6e 63 65 20 74 | is safe| since t|
|00001c70| 68 65 20 72 65 6d 61 69 | 6e 69 6e 67 20 73 74 61 |he remai|ning sta|
|00001c80| 74 65 6d 65 6e 74 73 20 | 69 6e 20 2a 2f 0d 09 09 |tements |in */...|
|00001c90| 2f 2a 20 74 68 69 73 20 | 66 75 6e 63 74 69 6f 6e |/* this |function|
|00001ca0| 20 64 6f 20 6e 6f 74 20 | 6d 6f 76 65 20 6d 65 6d | do not |move mem|
|00001cb0| 6f 72 79 20 28 61 73 73 | 69 67 6e 6d 65 6e 74 20 |ory (ass|ignment |
|00001cc0| 61 6e 64 20 73 69 6d 70 | 6c 65 20 6d 61 74 68 29 |and simp|le math)|
|00001cd0| 2e 20 2a 2f 0d 0d 09 74 | 68 65 52 65 63 74 20 3d |. */...t|heRect =|
|00001ce0| 20 2a 2a 28 28 52 65 63 | 74 2a 2a 29 20 47 65 74 | **((Rec|t**) Get|
|00001cf0| 52 65 73 6f 75 72 63 65 | 28 74 68 65 54 79 70 65 |Resource|(theType|
|00001d00| 2c 20 74 68 65 49 44 29 | 29 3b 0d 09 0d 09 09 09 |, theID)|);......|
|00001d10| 09 09 09 09 09 09 09 2f | 2a 20 43 65 6e 74 65 72 |......./|* Center|
|00001d20| 20 68 6f 72 69 7a 6f 6e | 74 61 6c 6c 79 20 6f 6e | horizon|tally on|
|00001d30| 20 73 63 72 65 65 6e 09 | 2a 2f 0d 09 63 6f 72 6e | screen.|*/..corn|
|00001d40| 65 72 2d 3e 68 20 3d 20 | 28 73 63 72 65 65 6e 42 |er->h = |(screenB|
|00001d50| 69 74 73 2e 62 6f 75 6e | 64 73 2e 72 69 67 68 74 |its.boun|ds.right|
|00001d60| 20 2d 20 28 74 68 65 52 | 65 63 74 2e 72 69 67 68 | - (theR|ect.righ|
|00001d70| 74 20 2d 20 74 68 65 52 | 65 63 74 2e 6c 65 66 74 |t - theR|ect.left|
|00001d80| 29 29 20 2f 20 32 3b 0d | 0d 09 09 09 09 09 09 09 |)) / 2;.|........|
|00001d90| 09 09 09 2f 2a 20 4c 65 | 61 76 65 20 74 77 69 63 |.../* Le|ave twic|
|00001da0| 65 20 61 73 20 6d 75 63 | 68 20 73 70 61 63 65 09 |e as muc|h space.|
|00001db0| 09 2a 2f 0d 09 09 09 09 | 09 09 09 09 09 09 2f 2a |.*/.....|....../*|
|00001dc0| 20 20 20 61 73 20 61 62 | 6f 76 65 20 74 68 65 20 | as ab|ove the |
|00001dd0| 72 65 63 74 61 6e 67 6c | 65 09 09 09 2a 2f 09 0d |rectangl|e...*/..|
|00001de0| 09 63 6f 72 6e 65 72 2d | 3e 76 20 3d 20 28 73 63 |.corner-|>v = (sc|
|00001df0| 72 65 65 6e 42 69 74 73 | 2e 62 6f 75 6e 64 73 2e |reenBits|.bounds.|
|00001e00| 62 6f 74 74 6f 6d 20 2d | 20 28 74 68 65 52 65 63 |bottom -| (theRec|
|00001e10| 74 2e 62 6f 74 74 6f 6d | 20 2d 20 74 68 65 52 65 |t.bottom| - theRe|
|00001e20| 63 74 2e 74 6f 70 29 29 | 20 2f 20 33 3b 0d 09 09 |ct.top))| / 3;...|
|00001e30| 09 09 09 09 09 09 09 09 | 2f 2a 20 44 6f 6e 27 74 |........|/* Don't|
|00001e40| 20 70 75 74 20 72 65 63 | 74 20 75 6e 64 65 72 20 | put rec|t under |
|00001e50| 6d 65 6e 75 20 62 61 72 | 09 2a 2f 0d 09 63 6f 72 |menu bar|.*/..cor|
|00001e60| 6e 65 72 2d 3e 76 20 3d | 20 4d 61 78 28 63 6f 72 |ner->v =| Max(cor|
|00001e70| 6e 65 72 2d 3e 76 2c 20 | 47 65 74 4d 42 61 72 48 |ner->v, |GetMBarH|
|00001e80| 65 69 67 68 74 28 29 20 | 2b 20 31 29 3b 0d 7d 0d |eight() |+ 1);.}.|
|00001e90| 0d 0d 2f 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |../*****|********|
|00001ea0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001eb0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001ec0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001ed0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001ee0| 2a 0d 20 47 65 74 46 6f | 6e 74 4e 75 6d 62 65 72 |*. GetFo|ntNumber|
|00001ef0| 0d 20 0d 20 09 46 69 6e | 64 20 66 6f 6e 74 20 6e |. . .Fin|d font n|
|00001f00| 75 6d 62 65 72 20 67 69 | 76 65 6e 20 74 68 65 20 |umber gi|ven the |
|00001f10| 66 6f 6e 74 20 6e 61 6d | 65 2e 20 20 49 66 20 6e |font nam|e. If n|
|00001f20| 6f 74 20 66 6f 75 6e 64 | 2c 20 61 20 6e 65 67 61 |ot found|, a nega|
|00001f30| 74 69 76 65 0d 20 09 66 | 6f 6e 74 20 6e 75 6d 62 |tive. .f|ont numb|
|00001f40| 65 72 20 69 73 20 72 65 | 74 75 72 6e 65 64 2e 0d |er is re|turned..|
|00001f50| 20 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a | *******|********|
|00001f60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001f70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001f80| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001f90| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2f |********|*******/|
|00001fa0| 0d 0d 76 6f 69 64 09 47 | 65 74 46 6f 6e 74 4e 75 |..void.G|etFontNu|
|00001fb0| 6d 62 65 72 28 0d 09 43 | 6f 6e 73 74 53 74 72 32 |mber(..C|onstStr2|
|00001fc0| 35 35 50 61 72 61 6d 20 | 66 6f 6e 74 4e 61 6d 65 |55Param |fontName|
|00001fd0| 2c 09 09 09 09 2f 2a 20 | 4e 61 6d 65 20 6f 66 20 |,..../* |Name of |
|00001fe0| 74 68 65 20 66 6f 6e 74 | 20 74 6f 20 66 69 6e 64 |the font| to find|
|00001ff0| 09 09 09 2a 2f 0d 09 73 | 68 6f 72 74 09 09 2a 66 |...*/..s|hort..*f|
|00002000| 6f 6e 74 4e 75 6d 29 09 | 09 09 09 2f 2a 20 54 68 |ontNum).|.../* Th|
|00002010| 65 20 66 6f 6e 74 20 6e | 75 6d 62 65 72 09 09 09 |e font n|umber...|
|00002020| 09 09 2a 2f 0d 7b 0d 09 | 53 74 72 32 35 35 09 09 |..*/.{..|Str255..|
|00002030| 73 79 73 46 6f 6e 74 4e | 61 6d 65 3b 0d 0d 09 47 |sysFontN|ame;...G|
|00002040| 65 74 46 4e 75 6d 28 66 | 6f 6e 74 4e 61 6d 65 2c |etFNum(f|ontName,|
|00002050| 20 66 6f 6e 74 4e 75 6d | 29 3b 09 09 09 2f 2a 20 | fontNum|);.../* |
|00002060| 46 69 6e 64 20 63 6f 72 | 72 65 73 70 6f 6e 64 69 |Find cor|respondi|
|00002070| 6e 67 20 66 6f 6e 74 20 | 6e 75 6d 62 65 72 09 2a |ng font |number.*|
|00002080| 2f 0d 09 0d 09 69 66 20 | 28 2a 66 6f 6e 74 4e 75 |/....if |(*fontNu|
|00002090| 6d 20 3d 3d 20 73 79 73 | 74 65 6d 46 6f 6e 74 29 |m == sys|temFont)|
|000020a0| 20 7b 0d 0d 09 09 09 2f | 2a 20 66 6f 6e 74 4e 75 | {...../|* fontNu|
|000020b0| 6d 20 69 73 20 73 65 74 | 20 74 6f 20 73 79 73 46 |m is set| to sysF|
|000020c0| 6f 6e 74 20 69 66 20 66 | 6f 6e 74 4e 61 6d 65 20 |ont if f|ontName |
|000020d0| 69 73 20 6e 6f 74 20 66 | 6f 75 6e 64 2e 09 2a 2f |is not f|ound..*/|
|000020e0| 0d 09 09 09 2f 2a 20 57 | 65 20 6d 75 73 74 20 63 |..../* W|e must c|
|000020f0| 68 65 63 6b 20 66 6f 72 | 20 74 68 65 20 73 70 65 |heck for| the spe|
|00002100| 63 69 61 6c 20 63 61 73 | 65 20 77 68 65 72 65 20 |cial cas|e where |
|00002110| 74 68 65 20 73 79 73 74 | 65 6d 09 2a 2f 0d 09 09 |the syst|em.*/...|
|00002120| 09 2f 2a 20 66 6f 6e 74 | 20 69 73 20 69 6e 64 65 |./* font| is inde|
|00002130| 65 64 20 62 65 69 6e 67 | 20 72 65 74 72 69 65 76 |ed being| retriev|
|00002140| 65 64 2c 20 62 79 20 63 | 6f 6d 70 61 72 69 6e 67 |ed, by c|omparing|
|00002150| 20 74 68 65 09 09 2a 2f | 0d 09 09 09 2f 2a 20 6e | the..*/|..../* n|
|00002160| 61 6d 65 20 6f 66 20 74 | 68 65 20 66 6f 6e 74 20 |ame of t|he font |
|00002170| 77 69 74 68 20 74 68 61 | 74 20 6f 66 20 74 68 65 |with tha|t of the|
|00002180| 20 73 79 73 74 65 6d 20 | 66 6f 6e 74 2e 09 09 2a | system |font...*|
|00002190| 2f 0d 09 09 09 0d 09 09 | 47 65 74 46 6f 6e 74 4e |/.......|GetFontN|
|000021a0| 61 6d 65 28 73 79 73 74 | 65 6d 46 6f 6e 74 2c 20 |ame(syst|emFont, |
|000021b0| 73 79 73 46 6f 6e 74 4e | 61 6d 65 29 3b 0d 09 09 |sysFontN|ame);...|
|000021c0| 69 66 20 28 21 45 71 75 | 61 6c 53 74 72 69 6e 67 |if (!Equ|alString|
|000021d0| 28 66 6f 6e 74 4e 61 6d | 65 2c 20 73 79 73 46 6f |(fontNam|e, sysFo|
|000021e0| 6e 74 4e 61 6d 65 2c 20 | 46 41 4c 53 45 2c 20 46 |ntName, |FALSE, F|
|000021f0| 41 4c 53 45 29 29 0d 09 | 09 09 09 09 09 09 09 09 |ALSE))..|........|
|00002200| 09 2f 2a 20 4e 61 6d 65 | 73 20 61 72 65 20 4e 4f |./* Name|s are NO|
|00002210| 54 20 74 68 65 20 73 61 | 6d 65 09 09 09 2a 2f 0d |T the sa|me...*/.|
|00002220| 09 09 09 2a 66 6f 6e 74 | 4e 75 6d 20 3d 20 2d 31 |...*font|Num = -1|
|00002230| 3b 09 09 09 09 2f 2a 20 | 52 65 74 75 72 6e 20 61 |;..../* |Return a|
|00002240| 20 66 61 69 6c 75 72 65 | 20 66 6c 61 67 09 09 09 | failure| flag...|
|00002250| 2a 2f 0d 09 7d 0d 7d 0d | 0d 0d 0d 2f 2a 2a 2a 2a |*/..}.}.|.../****|
|00002260| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002270| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002280| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002290| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000022a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 0d 20 43 6f 70 79 |********|**. Copy|
|000022b0| 50 53 74 72 69 6e 67 0d | 20 0d 09 09 43 6f 70 79 |PString.| ...Copy|
|000022c0| 20 61 20 50 61 73 63 61 | 6c 20 73 74 72 69 6e 67 | a Pasca|l string|
|000022d0| 0d 20 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |. ******|********|
|000022e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000022f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002300| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002310| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002320| 2f 0d 0d 76 6f 69 64 09 | 43 6f 70 79 50 53 74 72 |/..void.|CopyPStr|
|00002330| 69 6e 67 28 0d 09 43 6f | 6e 73 74 53 74 72 32 35 |ing(..Co|nstStr25|
|00002340| 35 50 61 72 61 6d 09 09 | 73 72 63 53 74 72 69 6e |5Param..|srcStrin|
|00002350| 67 2c 0d 09 53 74 72 32 | 35 35 09 09 64 65 73 74 |g,..Str2|55..dest|
|00002360| 53 74 72 69 6e 67 29 0d | 7b 0d 09 42 6c 6f 63 6b |String).|{..Block|
|00002370| 4d 6f 76 65 28 73 72 63 | 53 74 72 69 6e 67 2c 20 |Move(src|String, |
|00002380| 64 65 73 74 53 74 72 69 | 6e 67 2c 20 73 72 63 53 |destStri|ng, srcS|
|00002390| 74 72 69 6e 67 5b 30 5d | 20 2b 20 31 4c 29 3b 0d |tring[0]| + 1L);.|
|000023a0| 7d 0d 0d 0d 2f 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |}.../***|********|
|000023b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000023c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000023d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000023e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000023f0| 2a 2a 2a 0d 20 43 6f 6e | 63 61 74 50 53 74 72 69 |***. Con|catPStri|
|00002400| 6e 67 73 0d 20 0d 09 09 | 43 6f 6e 63 61 74 65 6e |ngs. ...|Concaten|
|00002410| 61 74 65 20 74 77 6f 20 | 50 61 73 63 61 6c 20 73 |ate two |Pascal s|
|00002420| 74 72 69 6e 67 73 20 62 | 79 20 61 74 74 61 63 68 |trings b|y attach|
|00002430| 69 6e 67 20 74 68 65 20 | 73 65 63 6f 6e 64 20 73 |ing the |second s|
|00002440| 74 72 69 6e 67 20 6f 6e | 0d 09 09 74 68 65 20 65 |tring on|...the e|
|00002450| 6e 64 20 6f 66 20 74 68 | 65 20 66 69 72 73 74 20 |nd of th|e first |
|00002460| 73 74 72 69 6e 67 2e 0d | 20 2a 2a 2a 2a 2a 2a 2a |string..| *******|
|00002470| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002480| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002490| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000024a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000024b0| 2a 2a 2a 2a 2a 2a 2a 2f | 0d 0d 76 6f 69 64 09 43 |*******/|..void.C|
|000024c0| 6f 6e 63 61 74 50 53 74 | 72 69 6e 67 73 28 0d 09 |oncatPSt|rings(..|
|000024d0| 53 74 72 32 35 35 09 09 | 66 69 72 73 74 2c 0d 09 |Str255..|first,..|
|000024e0| 43 6f 6e 73 74 53 74 72 | 32 35 35 50 61 72 61 6d |ConstStr|255Param|
|000024f0| 20 73 65 63 6f 6e 64 29 | 0d 7b 0d 20 20 20 20 0d | second)|.{. .|
|00002500| 20 20 20 20 73 68 6f 72 | 74 20 63 68 61 72 73 54 | shor|t charsT|
|00002510| 6f 43 6f 70 79 3b 0d 20 | 20 20 20 0d 20 20 20 20 |oCopy;. | . |
|00002520| 2f 2a 20 54 72 75 6e 63 | 61 74 65 20 69 66 20 63 |/* Trunc|ate if c|
|00002530| 6f 6e 63 61 74 65 6e 61 | 74 65 64 20 73 74 72 69 |oncatena|ted stri|
|00002540| 6e 67 20 77 6f 75 6c 64 | 20 62 65 20 6c 6f 6e 67 |ng would| be long|
|00002550| 65 72 20 74 68 61 6e 20 | 32 35 35 20 63 68 61 72 |er than |255 char|
|00002560| 73 2e 20 20 2a 2f 0d 20 | 20 20 20 0d 20 20 20 20 |s. */. | . |
|00002570| 63 68 61 72 73 54 6f 43 | 6f 70 79 20 3d 20 4d 69 |charsToC|opy = Mi|
|00002580| 6e 28 73 65 63 6f 6e 64 | 5b 30 5d 2c 20 32 35 35 |n(second|[0], 255|
|00002590| 20 2d 20 66 69 72 73 74 | 5b 30 5d 29 3b 0d 20 20 | - first|[0]);. |
|000025a0| 20 20 42 6c 6f 63 6b 4d | 6f 76 65 28 73 65 63 6f | BlockM|ove(seco|
|000025b0| 6e 64 20 2b 20 31 2c 20 | 66 69 72 73 74 20 2b 20 |nd + 1, |first + |
|000025c0| 66 69 72 73 74 5b 30 5d | 20 2b 20 31 2c 20 28 6c |first[0]| + 1, (l|
|000025d0| 6f 6e 67 29 20 63 68 61 | 72 73 54 6f 43 6f 70 79 |ong) cha|rsToCopy|
|000025e0| 29 3b 0d 20 20 20 20 66 | 69 72 73 74 5b 30 5d 20 |);. f|irst[0] |
|000025f0| 2b 3d 20 63 68 61 72 73 | 54 6f 43 6f 70 79 3b 0d |+= chars|ToCopy;.|
|00002600| 7d 0d 0d 0d 2f 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |}.../***|********|
|00002610| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002620| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002630| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002640| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002650| 2a 2a 2a 0d 20 4b 65 79 | 49 73 44 6f 77 6e 0d 20 |***. Key|IsDown. |
|00002660| 0d 09 09 44 65 74 65 72 | 6d 69 6e 65 20 77 68 65 |...Deter|mine whe|
|00002670| 74 68 65 72 20 6f 72 20 | 6e 6f 74 20 74 68 65 20 |ther or |not the |
|00002680| 73 70 65 63 69 66 69 65 | 64 20 6b 65 79 20 69 73 |specifie|d key is|
|00002690| 20 62 65 69 6e 67 20 70 | 72 65 73 73 65 64 2e 20 | being p|ressed. |
|000026a0| 4b 65 79 73 0d 09 09 61 | 72 65 20 73 70 65 63 69 |Keys...a|re speci|
|000026b0| 66 69 65 64 20 62 79 20 | 68 61 72 64 77 61 72 65 |fied by |hardware|
|000026c0| 2d 73 70 65 63 69 66 69 | 63 20 6b 65 79 20 63 6f |-specifi|c key co|
|000026d0| 64 65 20 28 4e 4f 54 20 | 74 68 65 20 63 68 61 72 |de (NOT |the char|
|000026e0| 61 63 74 65 72 29 2e 0d | 20 2a 2a 2a 2a 2a 2a 2a |acter)..| *******|
|000026f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002700| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002710| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002720| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002730| 2a 2a 2a 2a 2a 2a 2a 2f | 0d 0d 42 6f 6f 6c 65 61 |*******/|..Boolea|
|00002740| 6e 09 09 4b 65 79 49 73 | 44 6f 77 6e 28 0d 09 73 |n..KeyIs|Down(..s|
|00002750| 68 6f 72 74 09 09 09 74 | 68 65 4b 65 79 43 6f 64 |hort...t|heKeyCod|
|00002760| 65 29 0d 7b 0d 09 4b 65 | 79 4d 61 70 09 09 09 74 |e).{..Ke|yMap...t|
|00002770| 68 65 4b 65 79 73 3b 0d | 09 0d 09 47 65 74 4b 65 |heKeys;.|...GetKe|
|00002780| 79 73 28 20 74 68 65 4b | 65 79 73 29 3b 09 09 09 |ys( theK|eys);...|
|00002790| 09 09 2f 2a 20 47 65 74 | 20 73 74 61 74 65 20 6f |../* Get| state o|
|000027a0| 66 20 65 61 63 68 20 6b | 65 79 09 09 09 2a 2f 0d |f each k|ey...*/.|
|000027b0| 09 09 09 09 09 09 09 09 | 09 09 0d 09 09 2f 2a 20 |........|...../* |
|000027c0| 4f 72 64 65 72 69 6e 67 | 20 6f 66 20 62 69 74 73 |Ordering| of bits|
|000027d0| 20 69 6e 20 61 20 4b 65 | 79 4d 61 70 20 69 73 20 | in a Ke|yMap is |
|000027e0| 74 72 75 6c 79 20 62 69 | 7a 61 72 72 65 2e 20 41 |truly bi|zarre. A|
|000027f0| 20 4b 65 79 4d 61 70 20 | 69 73 20 61 09 2a 2f 0d | KeyMap |is a.*/.|
|00002800| 09 09 2f 2a 20 31 36 2d | 62 79 74 65 20 28 31 32 |../* 16-|byte (12|
|00002810| 38 20 62 69 74 73 29 20 | 61 72 72 61 79 20 77 68 |8 bits) |array wh|
|00002820| 65 72 65 20 65 61 63 68 | 20 62 69 74 20 73 70 65 |ere each| bit spe|
|00002830| 63 69 66 69 65 73 20 74 | 68 65 20 73 74 61 72 74 |cifies t|he start|
|00002840| 09 2a 2f 0d 09 09 2f 2a | 20 6f 66 20 61 20 6b 65 |.*/.../*| of a ke|
|00002850| 79 20 28 30 20 3d 20 75 | 70 2c 20 31 20 3d 20 64 |y (0 = u|p, 1 = d|
|00002860| 6f 77 6e 29 2e 20 57 65 | 20 69 73 6f 6c 61 74 65 |own). We| isolate|
|00002870| 20 74 68 65 20 62 69 74 | 20 66 6f 72 20 74 68 65 | the bit| for the|
|00002880| 09 09 2a 2f 0d 09 09 2f | 2a 20 73 70 65 63 69 66 |..*/.../|* specif|
|00002890| 69 65 64 20 6b 65 79 20 | 63 6f 64 65 20 62 79 20 |ied key |code by |
|000028a0| 66 69 72 73 74 20 64 65 | 74 65 72 6d 69 6e 69 6e |first de|terminin|
|000028b0| 67 20 74 68 65 20 62 79 | 74 65 20 70 6f 73 69 74 |g the by|te posit|
|000028c0| 69 6f 6e 20 69 6e 09 2a | 2f 0d 09 09 2f 2a 20 74 |ion in.*|/.../* t|
|000028d0| 68 65 20 4b 65 79 4d 61 | 70 20 61 6e 64 20 74 68 |he KeyMa|p and th|
|000028e0| 65 6e 20 74 68 65 20 62 | 69 74 20 70 6f 73 69 74 |en the b|it posit|
|000028f0| 69 6f 6e 20 77 69 74 68 | 69 6e 20 74 68 61 74 20 |ion with|in that |
|00002900| 62 79 74 65 2e 09 09 2a | 2f 0d 09 09 2f 2a 20 4b |byte...*|/.../* K|
|00002910| 65 79 20 63 6f 64 65 73 | 20 30 2d 37 20 61 72 65 |ey codes| 0-7 are|
|00002920| 20 69 6e 20 74 68 65 20 | 66 69 72 73 74 20 62 79 | in the |first by|
|00002930| 74 65 20 28 6f 66 66 73 | 65 74 20 30 20 66 72 6f |te (offs|et 0 fro|
|00002940| 6d 20 74 68 65 09 09 2a | 2f 0d 09 09 2f 2a 20 73 |m the..*|/.../* s|
|00002950| 74 61 72 74 29 2c 20 63 | 6f 64 65 73 20 38 2d 31 |tart), c|odes 8-1|
|00002960| 35 20 61 72 65 20 69 6e | 20 74 68 65 20 73 65 63 |5 are in| the sec|
|00002970| 6f 6e 64 2c 20 65 74 63 | 2e 20 54 68 65 20 42 69 |ond, etc|. The Bi|
|00002980| 74 54 73 74 28 29 20 74 | 72 61 70 09 2a 2f 0d 09 |tTst() t|rap.*/..|
|00002990| 09 2f 2a 20 63 6f 75 6e | 74 73 20 62 69 74 73 20 |./* coun|ts bits |
|000029a0| 73 74 61 72 74 69 6e 67 | 20 66 72 6f 6d 20 74 68 |starting| from th|
|000029b0| 65 20 68 69 67 68 2d 6f | 72 64 65 72 20 62 69 74 |e high-o|rder bit|
|000029c0| 20 6f 66 20 74 68 65 20 | 62 79 74 65 2e 09 2a 2f | of the |byte..*/|
|000029d0| 0d 09 09 2f 2a 20 46 6f | 72 20 65 78 61 6d 70 6c |.../* Fo|r exampl|
|000029e0| 65 2c 20 66 6f 72 20 6b | 65 79 20 63 6f 64 65 20 |e, for k|ey code |
|000029f0| 35 38 20 28 74 68 65 20 | 6f 70 74 69 6f 6e 20 6b |58 (the |option k|
|00002a00| 65 79 29 2c 20 77 65 20 | 6c 6f 6f 6b 20 61 74 09 |ey), we |look at.|
|00002a10| 2a 2f 0d 09 09 2f 2a 20 | 74 68 65 20 38 74 68 20 |*/.../* |the 8th |
|00002a20| 62 79 74 65 20 28 37 20 | 6f 66 66 73 65 74 20 66 |byte (7 |offset f|
|00002a30| 72 6f 6d 20 74 68 65 20 | 66 69 72 73 74 20 62 79 |rom the |first by|
|00002a40| 74 65 29 20 61 6e 64 20 | 74 68 65 20 35 74 68 20 |te) and |the 5th |
|00002a50| 62 69 74 09 2a 2f 0d 09 | 09 2f 2a 20 77 69 74 68 |bit.*/..|./* with|
|00002a60| 69 6e 20 74 68 61 74 20 | 62 79 74 65 2e 09 09 09 |in that |byte....|
|00002a70| 09 09 09 09 09 09 09 09 | 2a 2f 0d 09 09 0d 09 72 |........|*/.....r|
|00002a80| 65 74 75 72 6e 28 20 42 | 69 74 54 73 74 28 20 28 |eturn( B|itTst( (|
|00002a90| 28 63 68 61 72 2a 29 20 | 26 74 68 65 4b 65 79 73 |(char*) |&theKeys|
|00002aa0| 29 20 2b 20 74 68 65 4b | 65 79 43 6f 64 65 20 2f |) + theK|eyCode /|
|00002ab0| 20 38 2c 0d 09 09 09 09 | 09 28 6c 6f 6e 67 29 20 | 8,.....|.(long) |
|00002ac0| 37 20 2d 20 28 74 68 65 | 4b 65 79 43 6f 64 65 20 |7 - (the|KeyCode |
|00002ad0| 25 20 38 29 20 29 20 29 | 3b 0d 7d 0d 0d 0d 2f 2a |% 8) ) )|;.}.../*|
|00002ae0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002af0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002b00| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002b10| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002b20| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0d 20 44 |********|*****. D|
|00002b30| 72 61 77 53 49 43 4e 0d | 20 0d 09 09 44 72 61 77 |rawSICN.| ...Draw|
|00002b40| 20 61 20 53 49 43 4e 2c | 20 61 20 72 65 73 6f 75 | a SICN,| a resou|
|00002b50| 72 63 65 20 74 79 70 65 | 20 77 68 69 63 68 20 64 |rce type| which d|
|00002b60| 65 66 69 6e 65 73 20 61 | 20 31 36 20 62 79 20 31 |efines a| 16 by 1|
|00002b70| 36 20 62 69 74 20 69 6d | 61 67 65 2c 0d 09 09 61 |6 bit im|age,...a|
|00002b80| 74 20 74 68 65 20 67 69 | 76 65 6e 20 6c 6f 63 61 |t the gi|ven loca|
|00002b90| 74 69 6f 6e 2e 20 53 49 | 43 4e 20 69 73 20 73 70 |tion. SI|CN is sp|
|00002ba0| 65 63 69 66 69 65 64 20 | 62 79 20 61 20 72 65 73 |ecified |by a res|
|00002bb0| 6f 75 72 63 65 20 49 44 | 20 6e 75 6d 62 65 72 0d |ource ID| number.|
|00002bc0| 09 09 61 6e 64 20 61 20 | 6f 6e 65 2d 62 61 73 65 |..and a |one-base|
|00002bd0| 64 20 69 6e 64 65 78 20 | 69 6e 74 6f 20 74 68 65 |d index |into the|
|00002be0| 20 53 49 43 4e 20 6c 69 | 73 74 2e 20 54 68 65 20 | SICN li|st. The |
|00002bf0| 6c 6f 63 61 74 69 6f 6e | 20 73 70 65 63 69 66 69 |location| specifi|
|00002c00| 65 73 0d 09 09 74 68 65 | 20 74 6f 70 20 6c 65 66 |es...the| top lef|
|00002c10| 74 20 63 6f 72 6e 65 72 | 20 6f 66 20 74 68 65 20 |t corner| of the |
|00002c20| 53 49 43 4e 20 69 6e 20 | 74 68 65 20 6c 6f 63 61 |SICN in |the loca|
|00002c30| 6c 20 63 6f 6f 72 64 69 | 6e 61 74 65 73 20 6f 66 |l coordi|nates of|
|00002c40| 20 74 68 65 0d 09 09 63 | 75 72 72 65 6e 74 20 70 | the...c|urrent p|
|00002c50| 6f 72 74 2e 0d 20 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |ort.. **|********|
|00002c60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002c70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002c80| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002c90| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002ca0| 2a 2a 2a 2a 2f 0d 0d 76 | 6f 69 64 09 44 72 61 77 |****/..v|oid.Draw|
|00002cb0| 53 49 43 4e 28 0d 09 73 | 68 6f 72 74 09 09 53 49 |SICN(..s|hort..SI|
|00002cc0| 43 4e 69 64 2c 0d 09 73 | 68 6f 72 74 09 09 69 6e |CNid,..s|hort..in|
|00002cd0| 64 65 78 2c 0d 09 50 6f | 69 6e 74 09 09 6c 6f 63 |dex,..Po|int..loc|
|00002ce0| 61 74 69 6f 6e 29 0d 7b | 0d 09 48 61 6e 64 6c 65 |ation).{|..Handle|
|00002cf0| 09 09 74 68 65 53 49 43 | 4e 3b 0d 09 42 69 74 4d |..theSIC|N;..BitM|
|00002d00| 61 70 09 09 74 68 65 49 | 6d 61 67 65 3b 0d 09 52 |ap..theI|mage;..R|
|00002d10| 65 63 74 09 09 74 68 65 | 42 6f 75 6e 64 73 3b 0d |ect..the|Bounds;.|
|00002d20| 09 0d 09 74 68 65 53 49 | 43 4e 20 3d 20 47 65 74 |...theSI|CN = Get|
|00002d30| 52 65 73 6f 75 72 63 65 | 28 27 53 49 43 4e 27 2c |Resource|('SICN',|
|00002d40| 20 53 49 43 4e 69 64 29 | 3b 0d 09 46 61 69 6c 4e | SICNid)|;..FailN|
|00002d50| 49 4c 52 65 73 28 20 74 | 68 65 53 49 43 4e 29 3b |ILRes( t|heSICN);|
|00002d60| 0d 09 0d 09 48 4c 6f 63 | 6b 28 74 68 65 53 49 43 |....HLoc|k(theSIC|
|00002d70| 4e 29 3b 0d 09 09 09 09 | 09 09 09 09 09 09 2f 2a |N);.....|....../*|
|00002d80| 20 41 20 53 49 43 4e 20 | 72 65 73 6f 75 72 63 65 | A SICN |resource|
|00002d90| 20 69 73 20 72 65 61 6c | 6c 79 20 61 20 6c 69 73 | is real|ly a lis|
|00002da0| 74 09 2a 2f 0d 09 09 09 | 09 09 09 09 09 09 09 2f |t.*/....|......./|
|00002db0| 2a 20 20 20 6f 66 20 73 | 6d 61 6c 6c 20 69 63 6f |* of s|mall ico|
|00002dc0| 6e 73 2c 20 65 61 63 68 | 20 6f 66 20 77 68 69 63 |ns, each| of whic|
|00002dd0| 68 09 2a 2f 0d 09 09 09 | 09 09 09 09 09 09 09 2f |h.*/....|......./|
|00002de0| 2a 20 20 20 68 61 73 20 | 33 32 20 62 79 74 65 73 |* has |32 bytes|
|00002df0| 20 6f 66 20 64 61 74 61 | 09 09 09 2a 2f 0d 09 09 | of data|...*/...|
|00002e00| 09 09 09 09 09 09 09 09 | 2f 2a 20 20 20 31 36 20 |........|/* 16 |
|00002e10| 78 20 31 36 20 3d 20 32 | 35 36 20 62 69 74 73 20 |x 16 = 2|56 bits |
|00002e20| 3d 20 33 32 20 62 79 74 | 65 73 09 2a 2f 0d 09 09 |= 32 byt|es.*/...|
|00002e30| 09 09 09 09 09 09 09 09 | 0d 09 09 09 09 09 09 09 |........|........|
|00002e40| 09 09 09 2f 2a 20 43 72 | 65 61 74 65 20 61 20 62 |.../* Cr|eate a b|
|00002e50| 69 74 6d 61 70 20 73 6f | 20 77 65 20 63 61 6e 20 |itmap so| we can |
|00002e60| 63 6f 70 79 09 2a 2f 0d | 09 09 09 09 09 09 09 09 |copy.*/.|........|
|00002e70| 09 09 2f 2a 20 20 20 74 | 68 65 20 53 49 43 4e 20 |../* t|he SICN |
|00002e80| 69 6d 61 67 65 20 6f 6e | 20 74 68 65 20 73 63 72 |image on| the scr|
|00002e90| 65 65 6e 09 2a 2f 0d 09 | 09 09 09 09 09 09 09 09 |een.*/..|........|
|00002ea0| 09 0d 09 09 09 09 09 09 | 09 09 09 09 2f 2a 20 49 |........|..../* I|
|00002eb0| 6e 64 65 78 20 69 6e 74 | 6f 20 68 61 6e 64 6c 65 |ndex int|o handle|
|00002ec0| 20 74 6f 20 67 65 74 20 | 61 20 70 74 72 09 2a 2f | to get |a ptr.*/|
|00002ed0| 0d 09 09 09 09 09 09 09 | 09 09 09 2f 2a 20 20 20 |........|.../* |
|00002ee0| 74 6f 20 74 68 65 20 53 | 49 43 4e 20 62 69 74 20 |to the S|ICN bit |
|00002ef0| 69 6d 61 67 65 09 09 09 | 2a 2f 0d 09 74 68 65 49 |image...|*/..theI|
|00002f00| 6d 61 67 65 2e 62 61 73 | 65 41 64 64 72 20 3d 20 |mage.bas|eAddr = |
|00002f10| 2a 74 68 65 53 49 43 4e | 20 2b 20 28 69 6e 64 65 |*theSICN| + (inde|
|00002f20| 78 20 2d 20 31 29 20 2a | 20 33 32 3b 0d 09 74 68 |x - 1) *| 32;..th|
|00002f30| 65 49 6d 61 67 65 2e 72 | 6f 77 42 79 74 65 73 20 |eImage.r|owBytes |
|00002f40| 3d 20 32 3b 09 09 09 09 | 2f 2a 20 31 36 20 62 69 |= 2;....|/* 16 bi|
|00002f50| 74 73 20 69 73 20 32 20 | 62 79 74 65 73 09 09 09 |ts is 2 |bytes...|
|00002f60| 09 2a 2f 0d 09 0d 09 09 | 09 09 09 09 09 09 09 09 |.*/.....|........|
|00002f70| 2f 2a 20 50 6c 61 63 65 | 20 62 69 74 6d 61 70 20 |/* Place| bitmap |
|00002f80| 61 74 20 64 65 73 69 72 | 65 64 20 6c 6f 63 61 74 |at desir|ed locat|
|00002f90| 6f 6e 09 2a 2f 0d 09 53 | 65 74 52 65 63 74 28 26 |on.*/..S|etRect(&|
|00002fa0| 74 68 65 42 6f 75 6e 64 | 73 2c 20 6c 6f 63 61 74 |theBound|s, locat|
|00002fb0| 69 6f 6e 2e 68 2c 20 6c | 6f 63 61 74 69 6f 6e 2e |ion.h, l|ocation.|
|00002fc0| 76 2c 0d 09 09 09 09 09 | 09 6c 6f 63 61 74 69 6f |v,......|.locatio|
|00002fd0| 6e 2e 68 20 2b 20 31 36 | 2c 20 6c 6f 63 61 74 69 |n.h + 16|, locati|
|00002fe0| 6f 6e 2e 76 20 2b 20 31 | 36 29 3b 0d 09 74 68 65 |on.v + 1|6);..the|
|00002ff0| 49 6d 61 67 65 2e 62 6f | 75 6e 64 73 20 3d 20 74 |Image.bo|unds = t|
|00003000| 68 65 42 6f 75 6e 64 73 | 3b 0d 09 0d 09 09 09 09 |heBounds|;.......|
|00003010| 09 09 09 09 09 09 2f 2a | 20 43 6f 70 79 20 69 6d |....../*| Copy im|
|00003020| 61 67 65 20 6f 6e 20 74 | 6f 20 74 68 65 20 73 63 |age on t|o the sc|
|00003030| 72 65 65 6e 09 09 2a 2f | 0d 09 43 6f 70 79 42 69 |reen..*/|..CopyBi|
|00003040| 74 73 28 26 74 68 65 49 | 6d 61 67 65 2c 20 26 74 |ts(&theI|mage, &t|
|00003050| 68 65 50 6f 72 74 2d 3e | 70 6f 72 74 42 69 74 73 |hePort->|portBits|
|00003060| 2c 0d 09 09 09 20 26 74 | 68 65 42 6f 75 6e 64 73 |,.... &t|heBounds|
|00003070| 2c 20 26 74 68 65 42 6f | 75 6e 64 73 2c 20 73 72 |, &theBo|unds, sr|
|00003080| 63 43 6f 70 79 2c 20 4e | 55 4c 4c 29 3b 0d 09 09 |cCopy, N|ULL);...|
|00003090| 09 20 0d 09 48 55 6e 6c | 6f 63 6b 28 74 68 65 53 |. ..HUnl|ock(theS|
|000030a0| 49 43 4e 29 3b 0d 7d 0d | 0d 0d 2f 2a 2a 2a 2a 2a |ICN);.}.|../*****|
|000030b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000030c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000030d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000030e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000030f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0d 20 50 69 6e 49 6e |********|*. PinIn|
|00003100| 52 65 63 74 0d 20 0d 09 | 09 50 69 6e 20 61 20 70 |Rect. ..|.Pin a p|
|00003110| 6f 69 6e 74 20 69 6e 73 | 69 64 65 20 61 20 72 65 |oint ins|ide a re|
|00003120| 63 74 61 6e 67 6c 65 2e | 20 53 69 6d 69 6c 61 72 |ctangle.| Similar|
|00003130| 20 74 6f 20 74 68 65 20 | 50 69 6e 52 65 63 74 20 | to the |PinRect |
|00003140| 54 6f 6f 6c 62 6f 78 0d | 09 09 74 72 61 70 20 65 |Toolbox.|..trap e|
|00003150| 78 63 65 70 74 20 74 68 | 61 74 20 74 68 65 20 70 |xcept th|at the p|
|00003160| 6f 69 6e 74 20 69 73 20 | 63 68 61 6e 67 65 64 20 |oint is |changed |
|00003170| 69 6e 20 70 6c 61 63 65 | 20 61 6e 64 20 6f 6e 65 |in place| and one|
|00003180| 20 28 31 29 20 69 73 20 | 6e 6f 74 0d 09 09 73 75 | (1) is |not...su|
|00003190| 62 74 72 61 63 74 65 64 | 20 61 74 20 74 68 65 20 |btracted| at the |
|000031a0| 72 69 67 68 74 20 61 6e | 64 20 62 6f 74 74 6f 6d |right an|d bottom|
|000031b0| 20 65 64 67 65 73 2e 0d | 20 2a 2a 2a 2a 2a 2a 2a | edges..| *******|
|000031c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000031d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000031e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000031f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003200| 2a 2a 2a 2a 2a 2a 2a 2f | 0d 0d 76 6f 69 64 09 50 |*******/|..void.P|
|00003210| 69 6e 49 6e 52 65 63 74 | 28 0d 09 63 6f 6e 73 74 |inInRect|(..const|
|00003220| 20 4c 6f 6e 67 52 65 63 | 74 20 2a 74 68 65 52 65 | LongRec|t *theRe|
|00003230| 63 74 2c 0d 09 4c 6f 6e | 67 50 74 09 20 2a 74 68 |ct,..Lon|gPt. *th|
|00003240| 65 50 6f 69 6e 74 29 0d | 7b 0d 09 74 68 65 50 6f |ePoint).|{..thePo|
|00003250| 69 6e 74 2d 3e 68 20 3d | 20 4d 61 78 28 74 68 65 |int->h =| Max(the|
|00003260| 52 65 63 74 2d 3e 6c 65 | 66 74 2c 20 74 68 65 50 |Rect->le|ft, theP|
|00003270| 6f 69 6e 74 2d 3e 68 29 | 3b 0d 09 74 68 65 50 6f |oint->h)|;..thePo|
|00003280| 69 6e 74 2d 3e 68 20 3d | 20 4d 69 6e 28 74 68 65 |int->h =| Min(the|
|00003290| 52 65 63 74 2d 3e 72 69 | 67 68 74 2c 20 74 68 65 |Rect->ri|ght, the|
|000032a0| 50 6f 69 6e 74 2d 3e 68 | 29 3b 0d 09 74 68 65 50 |Point->h|);..theP|
|000032b0| 6f 69 6e 74 2d 3e 76 20 | 3d 20 4d 61 78 28 74 68 |oint->v |= Max(th|
|000032c0| 65 52 65 63 74 2d 3e 74 | 6f 70 2c 20 74 68 65 50 |eRect->t|op, theP|
|000032d0| 6f 69 6e 74 2d 3e 76 29 | 3b 0d 09 74 68 65 50 6f |oint->v)|;..thePo|
|000032e0| 69 6e 74 2d 3e 76 20 3d | 20 4d 69 6e 28 74 68 65 |int->v =| Min(the|
|000032f0| 52 65 63 74 2d 3e 62 6f | 74 74 6f 6d 2c 20 74 68 |Rect->bo|ttom, th|
|00003300| 65 50 6f 69 6e 74 2d 3e | 76 29 3b 0d 7d 0d 0d 0d |ePoint->|v);.}...|
|00003310| 2f 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |/*******|********|
|00003320| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003330| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003340| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003350| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0d |********|*******.|
|00003360| 20 41 62 6f 72 74 49 6e | 51 75 65 75 65 09 09 09 | AbortIn|Queue...|
|00003370| 54 43 4c 20 31 2e 31 2e | 31 20 44 4c 50 20 39 2f |TCL 1.1.|1 DLP 9/|
|00003380| 31 38 2f 39 31 0d 20 0d | 20 09 57 61 6c 6b 20 74 |18/91. .| .Walk t|
|00003390| 68 65 20 65 76 65 6e 74 | 20 71 75 65 75 65 2c 20 |he event| queue, |
|000033a0| 72 65 74 75 72 6e 20 54 | 52 55 45 20 69 66 20 61 |return T|RUE if a|
|000033b0| 20 43 6f 6d 6d 61 6e 64 | 2d 27 2e 27 20 69 73 20 | Command|-'.' is |
|000033c0| 74 68 65 72 65 2e 20 54 | 68 65 0d 20 09 65 76 65 |there. T|he. .eve|
|000033d0| 6e 74 20 69 73 20 72 65 | 6d 6f 76 65 64 20 66 72 |nt is re|moved fr|
|000033e0| 6f 6d 20 74 68 65 20 71 | 75 65 75 65 2e 0d 20 09 |om the q|ueue.. .|
|000033f0| 0d 20 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |. ******|********|
|00003400| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003410| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003420| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003430| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003440| 2f 0d 0d 42 6f 6f 6c 65 | 61 6e 09 41 62 6f 72 74 |/..Boole|an.Abort|
|00003450| 49 6e 51 75 65 75 65 28 | 20 76 6f 69 64 29 0d 7b |InQueue(| void).{|
|00003460| 0d 09 45 76 51 45 6c 50 | 74 72 09 71 45 76 74 20 |..EvQElP|tr.qEvt |
|00003470| 3d 20 28 45 76 51 45 6c | 50 74 72 29 20 47 65 74 |= (EvQEl|Ptr) Get|
|00003480| 45 76 51 48 64 72 28 29 | 2d 3e 71 48 65 61 64 3b |EvQHdr()|->qHead;|
|00003490| 0d 09 42 6f 6f 6c 65 61 | 6e 09 09 66 6f 75 6e 64 |..Boolea|n..found|
|000034a0| 41 62 6f 72 74 20 3d 20 | 46 41 4c 53 45 3b 0d 0d |Abort = |FALSE;..|
|000034b0| 09 77 68 69 6c 65 20 28 | 71 45 76 74 29 0d 09 7b |.while (|qEvt)..{|
|000034c0| 0d 09 09 09 2f 2f 20 53 | 74 61 72 74 69 6e 67 20 |....// S|tarting |
|000034d0| 61 74 20 74 68 65 20 65 | 76 74 51 57 68 61 74 20 |at the e|vtQWhat |
|000034e0| 66 69 65 6c 64 2c 20 61 | 6e 64 20 45 76 51 45 6c |field, a|nd EvQEl|
|000034f0| 20 69 73 20 69 64 65 6e | 74 69 63 61 6c 0d 09 09 | is iden|tical...|
|00003500| 09 2f 2f 20 74 6f 20 61 | 6e 20 45 76 65 6e 74 52 |.// to a|n EventR|
|00003510| 65 63 6f 72 64 0d 09 09 | 09 0d 09 09 69 66 20 28 |ecord...|....if (|
|00003520| 20 49 73 43 61 6e 63 65 | 6c 45 76 65 6e 74 28 20 | IsCance|lEvent( |
|00003530| 28 45 76 65 6e 74 52 65 | 63 6f 72 64 2a 29 20 26 |(EventRe|cord*) &|
|00003540| 71 45 76 74 2d 3e 65 76 | 74 51 57 68 61 74 29 29 |qEvt->ev|tQWhat))|
|00003550| 0d 09 09 7b 0d 09 09 09 | 2f 2f 20 46 6c 75 73 68 |...{....|// Flush|
|00003560| 20 74 68 69 73 20 61 6e | 64 20 61 6c 6c 20 6f 74 | this an|d all ot|
|00003570| 68 65 72 20 6b 65 79 2d | 64 6f 77 6e 73 20 66 72 |her key-|downs fr|
|00003580| 6f 6d 20 74 68 65 20 71 | 75 65 75 65 0d 09 09 09 |om the q|ueue....|
|00003590| 46 6c 75 73 68 45 76 65 | 6e 74 73 28 20 6b 65 79 |FlushEve|nts( key|
|000035a0| 44 6f 77 6e 4d 61 73 6b | 2c 20 30 29 3b 0d 09 09 |DownMask|, 0);...|
|000035b0| 09 66 6f 75 6e 64 41 62 | 6f 72 74 20 3d 20 54 52 |.foundAb|ort = TR|
|000035c0| 55 45 3b 0d 09 09 09 62 | 72 65 61 6b 3b 0d 09 09 |UE;....b|reak;...|
|000035d0| 7d 0d 09 09 71 45 76 74 | 20 3d 20 28 45 76 51 45 |}...qEvt| = (EvQE|
|000035e0| 6c 50 74 72 29 20 71 45 | 76 74 2d 3e 71 4c 69 6e |lPtr) qE|vt->qLin|
|000035f0| 6b 3b 0d 09 7d 0d 09 72 | 65 74 75 72 6e 20 66 6f |k;..}..r|eturn fo|
|00003600| 75 6e 64 41 62 6f 72 74 | 3b 0d 7d 0d 0d 2f 2a 2a |undAbort|;.}../**|
|00003610| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003620| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003630| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003640| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003650| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 0d 20 49 73 |********|****. Is|
|00003660| 43 61 6e 63 65 6c 45 76 | 65 6e 74 0d 20 0d 20 09 |CancelEv|ent. . .|
|00003670| 52 65 74 75 72 6e 73 20 | 54 52 55 45 20 69 66 20 |Returns |TRUE if |
|00003680| 65 76 65 6e 74 20 69 73 | 20 61 20 63 6f 6d 6d 61 |event is| a comma|
|00003690| 6e 64 2d 70 65 72 69 6f | 64 20 6b 65 79 64 6f 77 |nd-perio|d keydow|
|000036a0| 6e 20 65 76 65 6e 74 2e | 20 55 73 65 73 20 0d 20 |n event.| Uses . |
|000036b0| 09 74 68 65 20 74 65 63 | 68 6e 69 71 75 65 20 69 |.the tec|hnique i|
|000036c0| 6e 20 54 4e 20 23 32 36 | 33 20 74 6f 20 68 61 6e |n TN #26|3 to han|
|000036d0| 64 6c 65 20 69 6e 74 65 | 72 6e 61 74 69 6f 6e 61 |dle inte|rnationa|
|000036e0| 6c 20 6b 65 79 62 6f 61 | 72 64 73 2e 0d 20 09 0d |l keyboa|rds.. ..|
|000036f0| 20 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a | *******|********|
|00003700| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003710| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003720| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003730| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2f |********|*******/|
|00003740| 0d 0d 0d 23 64 65 66 69 | 6e 65 20 6b 4d 61 73 6b |...#defi|ne kMask|
|00003750| 4d 6f 64 69 66 69 65 72 | 73 20 20 30 78 46 45 30 |Modifier|s 0xFE0|
|00003760| 30 20 20 20 20 20 2f 2f | 20 77 65 20 6e 65 65 64 |0 //| we need|
|00003770| 20 74 68 65 20 6d 6f 64 | 69 66 69 65 72 73 20 77 | the mod|ifiers w|
|00003780| 69 74 68 6f 75 74 20 74 | 68 65 0d 20 20 20 20 20 |ithout t|he. |
|00003790| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000037a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 2f 2f | | //|
|000037b0| 20 63 6f 6d 6d 61 6e 64 | 20 6b 65 79 20 66 6f 72 | command| key for|
|000037c0| 20 4b 65 79 54 72 61 6e | 73 0d 20 20 20 20 20 20 | KeyTran|s. |
|000037d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000037e0| 20 20 0d 23 64 65 66 69 | 6e 65 20 6b 55 70 4b 65 | .#defi|ne kUpKe|
|000037f0| 79 4d 61 73 6b 20 20 20 | 20 20 20 30 78 30 30 38 |yMask | 0x008|
|00003800| 30 0d 23 64 65 66 69 6e | 65 20 6b 4d 61 73 6b 41 |0.#defin|e kMaskA|
|00003810| 53 43 49 49 31 20 20 20 | 20 20 30 78 30 30 46 46 |SCII1 | 0x00FF|
|00003820| 30 30 30 30 20 2f 2f 20 | 67 65 74 20 74 68 65 20 |0000 // |get the |
|00003830| 6b 65 79 20 6f 75 74 20 | 6f 66 20 74 68 65 20 41 |key out |of the A|
|00003840| 53 43 49 49 31 20 62 79 | 74 65 0d 23 64 65 66 69 |SCII1 by|te.#defi|
|00003850| 6e 65 20 6b 4d 61 73 6b | 41 53 43 49 49 32 20 20 |ne kMask|ASCII2 |
|00003860| 20 20 20 30 78 30 30 30 | 30 30 30 46 46 20 2f 2f | 0x000|000FF //|
|00003870| 20 67 65 74 20 74 68 65 | 20 6b 65 79 20 6f 75 74 | get the| key out|
|00003880| 20 6f 66 20 74 68 65 20 | 41 53 43 49 49 32 20 62 | of the |ASCII2 b|
|00003890| 79 74 65 0d 0d 42 6f 6f | 6c 65 61 6e 20 49 73 43 |yte..Boo|lean IsC|
|000038a0| 61 6e 63 65 6c 45 76 65 | 6e 74 28 20 45 76 65 6e |ancelEve|nt( Even|
|000038b0| 74 52 65 63 6f 72 64 20 | 2a 74 68 65 45 76 65 6e |tRecord |*theEven|
|000038c0| 74 20 29 0d 7b 0d 09 42 | 6f 6f 6c 65 61 6e 20 20 |t ).{..B|oolean |
|000038d0| 69 73 43 61 6e 63 65 6c | 20 3d 20 46 41 4c 53 45 |isCancel| = FALSE|
|000038e0| 3b 0d 09 73 68 6f 72 74 | 20 20 20 20 6b 65 79 43 |;..short| keyC|
|000038f0| 6f 64 65 3b 0d 09 6c 6f | 6e 67 20 20 20 20 20 76 |ode;..lo|ng v|
|00003900| 69 72 74 75 61 6c 4b 65 | 79 2c 20 6b 65 79 49 6e |irtualKe|y, keyIn|
|00003910| 66 6f 2c 20 6c 6f 77 43 | 68 61 72 2c 20 68 69 67 |fo, lowC|har, hig|
|00003920| 68 43 68 61 72 2c 20 73 | 74 61 74 65 2c 20 6b 65 |hChar, s|tate, ke|
|00003930| 79 43 49 64 3b 0d 09 48 | 61 6e 64 6c 65 20 20 20 |yCId;..H|andle |
|00003940| 68 4b 43 48 52 20 3d 20 | 4e 55 4c 4c 3b 0d 09 50 |hKCHR = |NULL;..P|
|00003950| 74 72 20 09 20 4b 43 48 | 52 50 74 72 3b 0d 0d 09 |tr . KCH|RPtr;...|
|00003960| 69 66 20 28 28 74 68 65 | 45 76 65 6e 74 2d 3e 77 |if ((the|Event->w|
|00003970| 68 61 74 20 3d 3d 20 6b | 65 79 44 6f 77 6e 29 20 |hat == k|eyDown) |
|00003980| 7c 7c 20 28 74 68 65 45 | 76 65 6e 74 2d 3e 77 68 ||| (theE|vent->wh|
|00003990| 61 74 20 3d 3d 20 61 75 | 74 6f 4b 65 79 29 29 0d |at == au|toKey)).|
|000039a0| 09 7b 0d 20 20 0d 09 09 | 2f 2f 20 73 65 65 20 69 |.{. ...|// see i|
|000039b0| 66 20 74 68 65 20 63 6f | 6d 6d 61 6e 64 20 6b 65 |f the co|mmand ke|
|000039c0| 79 20 69 73 20 64 6f 77 | 6e 2e 20 20 49 66 20 69 |y is dow|n. If i|
|000039d0| 74 20 69 73 2c 20 66 69 | 6e 64 20 6f 75 74 20 74 |t is, fi|nd out t|
|000039e0| 68 65 20 41 53 43 49 49 | 0d 20 20 09 09 2f 2f 20 |he ASCII|. ..// |
|000039f0| 65 71 75 69 76 61 6c 65 | 6e 74 20 66 6f 72 20 74 |equivale|nt for t|
|00003a00| 68 65 20 61 63 63 6f 6d | 70 61 6e 79 69 6e 67 20 |he accom|panying |
|00003a10| 6b 65 79 2e 0d 0d 09 09 | 69 66 20 28 74 68 65 45 |key.....|if (theE|
|00003a20| 76 65 6e 74 2d 3e 6d 6f | 64 69 66 69 65 72 73 20 |vent->mo|difiers |
|00003a30| 26 20 63 6d 64 4b 65 79 | 29 20 0d 09 09 7b 0d 09 |& cmdKey|) ...{..|
|00003a40| 09 09 09 2f 2f 20 67 65 | 74 20 76 69 72 74 75 61 |...// ge|t virtua|
|00003a50| 6c 20 6b 65 79 20 61 6e | 64 20 6b 65 79 63 6f 64 |l key an|d keycod|
|00003a60| 65 20 66 6f 72 20 4b 65 | 79 54 72 61 6e 73 0d 09 |e for Ke|yTrans..|
|00003a70| 09 09 09 0d 09 09 09 76 | 69 72 74 75 61 6c 4b 65 |.......v|irtualKe|
|00003a80| 79 20 3d 20 28 74 68 65 | 45 76 65 6e 74 2d 3e 6d |y = (the|Event->m|
|00003a90| 65 73 73 61 67 65 20 26 | 20 6b 65 79 43 6f 64 65 |essage &| keyCode|
|00003aa0| 4d 61 73 6b 29 20 3e 3e | 20 38 3b 0d 09 20 20 20 |Mask) >>| 8;.. |
|00003ab0| 20 0d 09 09 20 20 20 20 | 2f 2f 20 61 6e 64 20 6f | ... |// and o|
|00003ac0| 75 74 20 74 68 65 20 63 | 6f 6d 6d 61 6e 64 20 6b |ut the c|ommand k|
|00003ad0| 65 79 20 61 6e 64 20 6f | 72 20 69 6e 20 74 68 65 |ey and o|r in the|
|00003ae0| 20 76 69 72 74 75 61 6c | 4b 65 79 0d 09 09 20 20 | virtual|Key... |
|00003af0| 20 20 0d 09 09 20 20 20 | 20 6b 65 79 43 6f 64 65 | ... | keyCode|
|00003b00| 20 3d 20 28 74 68 65 45 | 76 65 6e 74 2d 3e 6d 6f | = (theE|vent->mo|
|00003b10| 64 69 66 69 65 72 73 20 | 26 20 6b 4d 61 73 6b 4d |difiers |& kMaskM|
|00003b20| 6f 64 69 66 69 65 72 73 | 29 20 20 7c 20 20 76 69 |odifiers|) | vi|
|00003b30| 72 74 75 61 6c 4b 65 79 | 3b 0d 09 09 20 20 20 0d |rtualKey|;... .|
|00003b40| 09 09 20 20 20 09 2f 2f | 20 6d 61 6b 65 20 69 74 |.. .//| make it|
|00003b50| 20 6c 6f 6f 6b 20 6c 69 | 6b 65 20 61 20 6b 65 79 | look li|ke a key|
|00003b60| 75 70 20 65 76 65 6e 74 | 2c 20 74 6f 20 70 72 65 |up event|, to pre|
|00003b70| 76 65 6e 74 20 64 65 61 | 64 20 6b 65 79 20 70 72 |vent dea|d key pr|
|00003b80| 6f 63 65 73 73 69 6e 67 | 0d 09 09 20 20 20 09 0d |ocessing|... ..|
|00003b90| 09 09 20 20 20 09 6b 65 | 79 43 6f 64 65 20 7c 3d |.. .ke|yCode |=|
|00003ba0| 20 6b 55 70 4b 65 79 4d | 61 73 6b 3b 0d 09 09 20 | kUpKeyM|ask;... |
|00003bb0| 20 20 20 0d 09 09 20 20 | 20 20 4b 43 48 52 50 74 | ... | KCHRPt|
|00003bc0| 72 20 3d 20 28 50 74 72 | 29 20 47 65 74 45 6e 76 |r = (Ptr|) GetEnv|
|00003bd0| 69 72 6f 6e 73 28 20 73 | 6d 4b 43 48 52 43 61 63 |irons( s|mKCHRCac|
|00003be0| 68 65 29 3b 0d 09 09 0d | 09 09 20 20 20 20 69 66 |he);....|.. if|
|00003bf0| 20 28 21 4b 43 48 52 50 | 74 72 29 20 0d 09 09 20 | (!KCHRP|tr) ... |
|00003c00| 20 20 20 7b 0d 09 09 09 | 09 6b 65 79 43 49 64 20 | {....|.keyCId |
|00003c10| 3d 20 47 65 74 53 63 72 | 69 70 74 28 20 47 65 74 |= GetScr|ipt( Get|
|00003c20| 45 6e 76 69 72 6f 6e 73 | 28 73 6d 4b 65 79 53 63 |Environs|(smKeySc|
|00003c30| 72 69 70 74 29 2c 20 73 | 6d 53 63 72 69 70 74 4b |ript), s|mScriptK|
|00003c40| 65 79 73 20 29 3b 0d 09 | 09 09 09 68 4b 43 48 52 |eys );..|...hKCHR|
|00003c50| 20 3d 20 47 65 74 52 65 | 73 6f 75 72 63 65 28 20 | = GetRe|source( |
|00003c60| 27 4b 43 48 52 27 2c 20 | 6b 65 79 43 49 64 20 29 |'KCHR', |keyCId )|
|00003c70| 3b 0d 09 09 09 09 4b 43 | 48 52 50 74 72 20 3d 20 |;.....KC|HRPtr = |
|00003c80| 2a 68 4b 43 48 52 3b 0d | 09 09 09 7d 0d 09 09 09 |*hKCHR;.|...}....|
|00003c90| 0d 09 09 09 69 66 20 28 | 4b 43 48 52 50 74 72 29 |....if (|KCHRPtr)|
|00003ca0| 20 0d 09 09 09 7b 0d 09 | 09 09 09 73 74 61 74 65 | ....{..|...state|
|00003cb0| 20 3d 20 30 3b 0d 09 09 | 09 09 6b 65 79 49 6e 66 | = 0;...|..keyInf|
|00003cc0| 6f 20 3d 20 4b 65 79 54 | 72 61 6e 73 28 20 4b 43 |o = KeyT|rans( KC|
|00003cd0| 48 52 50 74 72 2c 20 6b | 65 79 43 6f 64 65 2c 20 |HRPtr, k|eyCode, |
|00003ce0| 26 73 74 61 74 65 29 3b | 0d 09 09 09 09 69 66 20 |&state);|.....if |
|00003cf0| 28 68 4b 43 48 52 29 0d | 09 09 09 09 09 52 65 6c |(hKCHR).|.....Rel|
|00003d00| 65 61 73 65 52 65 73 6f | 75 72 63 65 28 68 4b 43 |easeReso|urce(hKC|
|00003d10| 48 52 29 3b 0d 09 09 09 | 7d 0d 09 09 09 65 6c 73 |HR);....|}....els|
|00003d20| 65 0d 09 09 09 09 6b 65 | 79 49 6e 66 6f 20 3d 20 |e.....ke|yInfo = |
|00003d30| 74 68 65 45 76 65 6e 74 | 2d 3e 6d 65 73 73 61 67 |theEvent|->messag|
|00003d40| 65 3b 0d 09 09 0d 09 09 | 20 20 20 20 6c 6f 77 43 |e;......| lowC|
|00003d50| 68 61 72 20 3d 20 6b 65 | 79 49 6e 66 6f 20 26 20 |har = ke|yInfo & |
|00003d60| 20 6b 4d 61 73 6b 41 53 | 43 49 49 32 3b 0d 09 09 | kMaskAS|CII2;...|
|00003d70| 20 20 20 20 68 69 67 68 | 43 68 61 72 20 3d 20 28 | high|Char = (|
|00003d80| 6b 65 79 49 6e 66 6f 20 | 26 20 6b 4d 61 73 6b 41 |keyInfo |& kMaskA|
|00003d90| 53 43 49 49 31 29 20 3e | 3e 20 31 36 3b 0d 09 09 |SCII1) >|> 16;...|
|00003da0| 20 20 20 20 69 66 20 28 | 6c 6f 77 43 68 61 72 20 | if (|lowChar |
|00003db0| 3d 3d 20 27 2e 27 20 7c | 7c 20 68 69 67 68 43 68 |== '.' ||| highCh|
|00003dc0| 61 72 20 3d 3d 20 27 2e | 27 29 0d 09 09 09 09 69 |ar == '.|').....i|
|00003dd0| 73 43 61 6e 63 65 6c 20 | 3d 20 74 72 75 65 3b 0d |sCancel |= true;.|
|00003de0| 09 09 7d 0d 09 7d 0d 09 | 72 65 74 75 72 6e 20 69 |..}..}..|return i|
|00003df0| 73 43 61 6e 63 65 6c 3b | 0d 7d 0d 00 00 00 00 00 |sCancel;|.}......|
|00003e00| 00 00 01 00 00 00 01 1a | 00 00 00 1a 00 00 00 32 |........|.......2|
|00003e10| 60 00 fd 6c 32 fc 20 53 | 60 00 fd 64 32 fc 2f 0b |`..l2. S|`..d2./.|
|00003e20| 60 00 fd 5c 32 fc 61 00 | 60 00 fd 54 32 fc 00 10 |`..\2.a.|`..T2...|
|00003e30| 0d 54 42 55 74 69 6c 69 | 74 69 65 73 2e 63 02 00 |.TBUtili|ties.c..|
|00003e40| 00 00 54 45 58 54 4b 41 | 48 4c 40 00 00 00 00 00 |..TEXTKA|HL@.....|
|00003e50| 00 00 54 45 58 54 4b 41 | 48 4c 40 00 00 00 00 00 |..TEXTKA|HL@.....|
|00003e60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003e70| 00 00 a2 38 e1 91 00 00 | 00 00 00 00 01 4c 00 04 |...8....|.....L..|
|00003e80| 60 00 fc fc 32 fc ff f8 | 60 00 fc f4 32 fc 2f 0c |`...2...|`...2./.|
|00003e90| 60 00 fc ec 32 fc 20 06 | 60 00 fc e4 32 fc 4e ed |`...2. .|`...2.N.|
|00003ea0| 60 00 fc dc 32 fc 4e 56 | 60 00 fc d4 32 fc 20 68 |`...2.NV|`...2. h|
|00003eb0| 60 00 fc cc 32 fc 4e 5e | 60 00 fc c4 32 fc 00 01 |`...2.N^|`...2...|
|00003ec0| 60 00 fc bc 32 fc 58 8f | 60 00 fc b4 32 fc 4f ef |`...2.X.|`...2.O.|
|00003ed0| 60 00 fc ac 32 fc 00 02 | 60 00 fc a4 32 fc 00 18 |`...2...|`...2...|
|00003ee0| 60 00 fc 9c 32 fc 60 00 | 60 00 fc 94 32 fc ff ff |`...2.`.|`...2...|
|00003ef0| 60 00 fc 8c 32 fc 50 8f | 60 00 fc 84 32 fc 4e 90 |`...2.P.|`...2.N.|
|00003f00| 00 00 00 16 01 11 80 00 | 00 00 05 31 2e 31 2e 31 |........|...1.1.1|
|00003f10| 09 54 43 4c 20 31 2e 31 | 2e 31 00 00 01 00 00 00 |.TCL 1.1|.1......|
|00003f20| 01 1a 00 00 00 1a 00 00 | 00 32 00 96 04 88 0c 20 |........|.2..... |
|00003f30| 00 00 00 1c 00 32 00 00 | 76 65 72 73 00 00 00 0a |.....2..|vers....|
|00003f40| 00 01 ff ff 00 00 00 00 | 00 96 db bc 00 00 00 00 |........|........|
|00003f50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003f60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003f70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+